[TypeScript] any , unknown , never

sangyong park·2022년 10월 9일
0
post-thumbnail
post-custom-banner

Typescript 의 any , unknown , never

any

any는 타입스크립트의 고유효과 타입체크를 '비활성화' 시킨다.

배열과 불리언 타입인 a + b 가 정상 작동하는 이유는 any 속성을 사용했기 때문이다.

<script>
	// any는 타입스크립트를 비활성화 시킨다.
 const a : any[] = [1, 2, 3, 4]
 const b : any = true

 // any를 사용했기 때문에 정상 작동
 a + b
</script>

unknown

unknown은 변수의 타입을 미리 알지 못 할 때 사용한다.

<script>
// 변수의 타입을 미리 알지 못 할 때 사용
let a:unknown;

// if문을 사용해서 typeof로 a가 number일 때 연산 하면 에러가 발생하지 않는다.
if(typeof a === 'number') {
    let b = a + 1
}
</script>

never

절대 실행되지 않는 값

never은 일반적으로 함수가 어떠한 값도 반환하지 않을 때 사용한다.

일부 함수는 값을 반환하지 않는다.

이는 함수가 예외를 throw하거나 프로그램 실행을 종료함을 의미한다.

<script>
function fail(msg: string): never {
throw new Error(msg);
}
</script>

타입이 두 가지일 때

<script>
function hello(name:string|number) {
    if (name === "string"){
        name // string
    } else if (name === "number") {
        name // number
    } else {
        name // never 절대 실행되지 않는다.
    }
}
</script>
profile
Dreams don't run away It is always myself who runs away.
post-custom-banner

0개의 댓글