В TypeScript есть два псевдо-типа данных обозначающих "ничто": void и never
Чем они отличаются и как понять когда применять void, а когда never?
Ответ
Псевдо-тип never означает, что функция никогда не возвращает значения. Такое может быть, например, в случае если функция всегда выбрасывает исключение:
function f(): never {
throw new Error('Never return');
}
Псевдо-тип void означает, что функция возвращает undefined. Это происходит в случае, если поток выполнения доходит до конца функции, не встретив конструкции return
function f(arg): void {
console.log(arg);
}
или когда конструкция return используется без указания аргумента:
function f(arg): void {
if (arg < 0) {
return;
}
console.log(arg);
}
Если говорить о выборе между void и never, то вам почти всегда нужно выбирать именно void. Все дело в том, что never используется в совсем уж экзотических ситуациях, поэтому его можно смело исключать из набора типов "на каждый день".
Комментариев нет:
Отправить комментарий