Проверяет понимание практического применения типа never в TypeScript и сценариев, где он необходим.
Тип never в TypeScript представляет собой тип, который не содержит ни одного значения. Он присваивается функциям, которые никогда не возвращают результат: либо всегда выбрасывают исключение, либо содержат бесконечный цикл. Также never появляется при сужении типов, когда все возможные варианты исключены.
switch или условных конструкциях, чтобы убедиться, что все возможные случаи обработаны.never.function throwError(message: string): never {
throw new Error(message);
}
function infiniteLoop(): never {
while (true) {}
}
// Проверка исчерпываемости
type Shape = 'circle' | 'square' | 'triangle';
function area(shape: Shape): number {
switch (shape) {
case 'circle': return 1;
case 'square': return 2;
case 'triangle': return 3;
default: {
const exhaustiveCheck: never = shape;
return exhaustiveCheck;
}
}
}В последнем примере, если добавить новый вариант в Shape, компилятор выдаст ошибку, потому что переменная exhaustiveCheck не сможет быть типа never. Это помогает поддерживать код в актуальном состоянии.
Тип never полезен для явного указания невозможных ситуаций и повышения типобезопасности. Его стоит применять в функциях, которые не возвращают значения, и для проверки полноты обработки всех вариантов в сложных структурах данных.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию