더북(TheBook)

2.7.6 타입 간 대입 가능표

타입 간 대입 가능 여부가 매우 헷갈리므로 표로 정리했습니다. 세로 항목이 가로 항목에 대입 가능하다면 ◯이고, 가능하지 않다면 ×입니다. 예를 들어 undefinedvoid에 대입 가능하지만, voidundefined에 대입할 수 없습니다. 타입은 언제나 같은 타입에 대입할 수 있으므로 대각선 부분은 생략했습니다(any -> any 부터 never -> never). 외울 필요는 없습니다. 대입이 불가능하다면 친절하게 Type A is not assignable to Type B 에러 메시지가 표시되니까요.

▼ 표 2-1 타입 간 대입 가능표

->

any

unknown

{}

void

undefined

null

never

any

 

O

O

O

O

O

X

unknown

O

 

X

X

X

X

X

{}

O

O

 

X

X

X

X

void

O

O

X

 

X

X

X

undefined

O

O

X

O

 

X

X

null

O

O

X

X

X

 

X

never

O

O

O

O

O

O

 

실제 코드로도 확인할 수 있습니다. 표대로 대입할 수 없는 경우 에러가 발생합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.