API 연결을 통해서 데이터를 받을 때, 해당 데이터의 타입값을 모르는 경우가 있다.
이런 상황을 대비하여 TS는 unknown값을 사용할 수 있다.
let a: unknown
다음과 같이 사용하고, 선언 방식은 다음과 같다.
선언법
const (변수 이름): unknown
unknown을 사용할 때에는, 타입을 체크하는 과정이 무조건 필요하다.
let a: unknown
...
let c = a + 1 // Error: Object is of type 'unknown'.
if (typeof a === 'number') { // 만약 if문이 없을 경우 오류 발생
let b = a + 1
} else if (typeof a === "string") {
let b = a.toUpperCase();
}
C와 C++에서 많이 보는 자료형 중 하나이다.
TS에서도 리턴하는 값이 없을 경우 출력값을 Void로 나타낸다.
funciton hello() { // function hello(): void
console.log("hello")
}
Never는 에러를 내보낼 때에 사용하는 타입값이다. 사용법은 다음과 같다.
function hello1(): never {
throw new Error("error")
}
이런 경우 외에도 변수 타입이 두가지가 중첩 될 경우 never type이 생성되기도 한다.
function hello2(name: string|number) {
if (typeof name === "string") {
typeof name // string
} else if (typeof name === "number") {
typeof name // number
} else {
typeof name // never
}
}
*본 내용은 노마드코더 "Typescript로 블록체인 만들기"에서 습득한 내용을 바탕으로 재구성한 것 입니다.