728x90
320x100
unKnown
변수의 타입을 미리 알지 못할 때 사용한다. 만약 API로 부터 응답을 받는데 그 응답의 타입을 모른다면 'unknown'타입을 쓸 수 있다.
any와 차이점: any타입처럼 모든 값을 허용하지만 차이점은 할당된 값이 어떤 타입인지 알기전까진 프로퍼티 또는 연산을 하는경우 컴파일러가 체크한다.
let a:unknown;
//if문으로 타입체크를 하면 동작시킬수 있다.
if(typeof a === 'number'){
let b = a + 1
}
void
void: 아무것도 return하지 않는 함수를 의미한다. 보통 void를 따로 지정해줄 필요는 없다. void는 '비어 있는 것'을 말한다.
function hello(){ // void는 생략 가능
console.log('x')
}
never
함수가 절대 return되지 않을 떄 발생한다. 예를 들어 함수에서 exception(예외)이 발생할 때.
function hello():never{ //-> 타입을 never로 지정하면 return을 실행을 못하고 오류를 일으킨다.
return 'x'
}
//-----------
function hey(name:string | number){
if(typeof name === 'string'){
name // -> name이 string타입이 된다.
}else if(typeof name === 'number'){
name // -> name이 number타입이 된다.
}else {
name // -> name이 never이 된다.
}
}
//만약 타입이 올바르게 들어온다면 마지막 name(never)은 실행되지 않는다.
never에대한 자세한 글 (https://ui.toast.com/weekly-pick/ko_20220323)
728x90
320x100
'front-end > TypeScript' 카테고리의 다른 글
[TS]05 다형성 / 제네릭 (0) | 2022.05.11 |
---|---|
[TS]04 call Signatures / overloading(오버로딩) (0) | 2022.05.10 |
[TS]02 readonly / Tuple / any 타입 (0) | 2022.05.10 |
[TS] 01 문법 / object, 함수 return의 타입지정 (0) | 2022.05.10 |
[TypeScript] 리액트에서 타입스크립트 적용하기 (0) | 2022.05.08 |
댓글