타입 계층도와 함께 기본타입 살펴보기 - 타입스크립트 이해하기


**/**
* Unknown 타입
*/**
function unknownExam(){
// 업캐스팅
let a : unknown = 1;
let b : unknown = "hello";
let c : unknown = true;
let d : unknown = null;
let e : unknown = undefined;
// 다운캐스팅
let unknownVar : unknown;
// let num: number = unknownVar; (x)
}
**/**
* Never 타입 -> 모든 집합의 서브타입 (공집합)
*/**
function neverExam(){
function neverFunc(): never{
while (true) {}
}
// 이건 업캐스팅이라 모든 타입에 해당 never 타입 넣을 수 있다.
let num: number = neverFunc();
let str: string = neverFunc();
let bool: boolean = neverFunc();
// let never1: never = 10; // 다운캐스팅이라 안됨
}
**/**
* Void 타입
*/**
function voidExam(){
function voidFunc(): void{
console.log("hi");
}
// 업캐스팅이라 가능
let voidVarL: void = undefined;
}
**/**
* any 타입 (치트키)
*/**
function anyExam(){
let unknownVar: unknown;
let anyVar:any;
let undefinedVar: undefined;
let neverVar: never;
// 이건 any타입 한정임 (다운캐스팅 가능)
anyVar = unknownVar;
undefinedVar = anyVar
// 하지만 이건 안됨
// neverVar = anyVar;
}