Назад к вопросам
JuniorТеорияЧасто
Что сообщит tsc об этом файле?
type Pay = "card" | "cash" | "crypto";
function payName(p: Pay): string {
switch (p) {
case "card":
return "Card";
case "cash":
return "Cash";
default:
const rest: never = p;
return rest;
}
}Ошибку: "crypto" не подходит к типу never
- Считать строку с
neverпроверкой при запуске: её проверяет tsc, и забытый вариант не даёт файлу скомпилироваться. - Ждать ошибку в строке с
type: в объединении могут быть любые варианты, а tsc сообщает о строке, где неразобранный"crypto"присваиваютnever.
- Как исправить
payName, чтобы файл скомпилировался? - Почему
return rest;разрешён в функции, которая возвращаетstring?