포스트

잘 모르는 TS 타입

unknown

외부로부터 데이터가 오거나, 받아오는 타입의 종류를 모를경우 unknown으로 처리할 수 있음

1
2
3
4
5
6
7
8
9
10
11
// unknown

let unknwonType: unknown;

if (typeof unknwonType === "string") {
  let b = a.toUpperCase();
}

if (typeof unknwonType === "number") {
  let b = a + 1;
}

void

함수에서 값 return이 없는 경우 함수의 타입은 void로 default 로 된다.

1
2
3
4
5
6
// void

function hihi() {
  // : void ..
  // return type이 없음
}

never

리턴하는 값이 존재하지 않을때 사용한다.

error 의 경우

1
2
3
function somethingE(): never {
  throw new Error();
}

error가 발생함으로 값의 리턴이 없다.

다른 코드에서 타입으로 존재할 경우

1
2
3
4
5
6
7
8
9
function hihihi(something: string | number) {
  if (typeof something === "string") {
    something; // string
  } else if (typeof something === "number") {
    something; // number
  } else {
    something; // never
  }
}

마지막 else 구문에서 something의 타입은 never 다. 즉 없어야 되는 존재이다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.