unknown과 any(타입 대입가능표)

모두의희망·2023년 1월 10일
0

TypeScript

목록 보기
9/11
post-thumbnail

unknown과 any

interface A {
   talk: () => void;
}

const a: A = {
  talk() { return 3; }
}

const b: unknown = a.talk();    
( b as A ).talk();
  • const b: unknown = a.talk();
    unknown은 지금 당장 타입을 모르겠다라는 뜻.unknown은 나중에 타입을 지정해서 쓸 수 있다. unknown도 없는게 좋다..
  • const b: any = a.talk();
    any를쓰면 타입을 포기하겠다 라는 뜻임

try,catch의 unknown

try {
} catch(error) {  
 (error as Error).message
}

한가지 예시를 들면 try catch 할때 error에 unknown이 발생
그래서 error메시지를 표시 할때 타이핑을 해줘야 한다.
(error as Error).message 하는 이유는 에러가 어떤게 나올지 모른다.

타입간 대입 가능 표

  • any는 없다고 생각하기 타입을 포기함
  • unknown은 나중에 내가 직접 타이핑을 해줘야함
  • never가 생겨도 문제 빈배열 일때 나타남 타이핑을 해줘야함
  • 초록색 체크도 x라고 생각하기
  • undefined는 void에 대입 가능하다
  • null은 void에 대입 할 수 없다
profile
개발을 진정성 있게 다가가겠습니다.

0개의 댓글