function printForever() :never{
}
return undefined 를 암묵적으로 생략하기 떄문에 사실 조건2가 맞으면 조건1도 맞는 말이다.잘못된 예시
function printForever() :never{
console.log(123)
}
맞는 예시
function printForever() :never{
while ( true ) {
console.log(123)
}
}
function printForever() :never{
throw new Error('에러메세지')
}
<aside> 📌 보통은 이러한 조건에 맞는 함수를 만들일이 거의 없기 때문에 never타입을 사용할 일이 거의 없다. 그런데 간혹 코드를 짜다가 의도치 않게 never 타입을 만나는 경우가 있다.
</aside>
parameter가 never타입이 되는 경우
function parameterNever(parameter: string) {
if ( typeof parameter === "string"){
parameter + 1;
} else {
parameter;
}
}
함수 표현식
function func1(){
}
const func2 = function (){
}
func1을 함수 선언문, 아래의 func2를 함수 표현식이라고 한다.