지난 시간에는 narrowing 할 수 있는 방법을 더 알아보았습니다. 이번 시간에는 함수에 사용하는 never 타입에 대해 자세히 알아보겠습니다.
function practice(): never {
return 1; //error 'number' 형식은 'never' 형식에 할당할 수 없습니다.ts(2322)
}
function practice(): never {
return undefined; //error
}
function practice(): never {
throw new Error();
}
function practice(parameter: string) {
if (typeof parameter === "string") {
console.log(parameter); // (parameter) parameter: string
} else {
console.log(parameter); // (parameter) parameter: never
}
}
let practice = function () { // let practice: () => never
throw new Error();
};
let arr = [];
지금까지 never 에 대해서 알아보았습니다. 사실상 쓸 일이 별로 없기 때문에 이럴 때도 등장한다고 알아두기만 하면 됩니다.