7. Czym różni się typ `never` od `void`?

Typ void oznacza dosłownie pustkę. Funkcja, zwracająca typ void, nie zwraca żadnej wartości. Przypisanie jej wykonania do zmiennej będzie równe ustawieniu tej zmiennej wartości undefined.

Typ never oznacza, że wartość nigdy nie zaistnieje. Funkcja, która zwraca typ never nigdy nie kończy wykonania - może na przykład obsługiwać nieskończoną pętlę lub rzucać wyjątek.

const voidFunc = (): void => { const a = 1 + 1; } console.info(voidFunc()) // undefined const neverFunc = (): never => { // A function returning 'never' cannot have a reachable end point. const a = 1 + 1; } console.info(neverFunc()) // undefined const neverFunc2 = (): never => { const a = 1 + 1; return a; // Type 'number' is not assignable to type 'never'. }
devFlipCards 2024

Akceptujesz cookies?

Cookies to niewielkie fragmenty danych zapisywane lokalnie na twoim urządzeniu. Pomagają w funkcjonowaniu naszej strony - zapisują Twoje ustawienia strony takie jak motyw czy język. Poprawiają funkcjonowanie reklam i pozwalają nam na przeprowadzanie analityki odwiedzin strony. Korzystając ze strony zgadasz się na ich wykorzystanie.