Встречается на собеседованиях • сегодня

Можно ли использовать Never в Switch Case

Да, можно использовать never в switch-case для обработки ситуаций, когда все возможные варианты уже учтены, но нужно явно указать, что другие случаи невозможны. Это полезно для exhaustiveness checking (проверки полноты покрытия вариантов).

typescript
type Shape = 'circle' | 'square' | 'triangle';

function getArea(shape: Shape): number {
  switch (shape) {
    case 'circle':
      return Math.PI * 10 ** 2;
    case 'square':
      return 10 * 10;
    case 'triangle':
      return (10 * 10) / 2;
    default:
      const _exhaustiveCheck: never = shape;
      return _exhaustiveCheck;
  }
}

Если добавить новый вариант в Shape, TypeScript выдаст ошибку в default, так как shape перестанет быть never. Это помогает выявлять необработанные случаи на этапе компиляции.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы