두 가지 다른 타입A
와B
에 대해, 모든A
타입의 값을B
타입의 값으로도 취급할 수 있는가?
number
타입의 값에 OneDigitOdd
타입의 값을 할당한다. 이 때, OneDigitOdd
타입이 가질 수 있는 값인 1
, 3
, 5
, 7
, 9
는 모두 number
에 속한다. OneDigitOdd
타입의 모든 값이 number
타입의 값이기도 하므로 위의 코드는 오류 없이 실행 된다. 즉, OneDigitOdd
타입은 number
타입에 할당 가능(assignable)하다. number
타입은 1
, 3
, 5
, 7
, 9
이외의 다른 값 또한 가질 수 있다. 예를 들어, const four: number = 4
는 OneDigitOdd
타입의 값으로 허용되지 않는다. number
타입의 값이지만 OneDigitOdd
값으로 취급할 수 없는 값이 존재하므로, number
타입은 OneDigitOdd
타입에 할당 불가능하다.