본문 바로가기
FrontEnd/TypeScript

TypeScript 타입호환성

by y.j 2022. 9. 27.
728x90

서브타입

sub1는 1이라는 타입을 가지고 sup1는 number라는 타입을 가진다. sub1은 sup1의 서브타입이라서 sup1을 sub1에 대입할 수 있지만, 반대는 되지 않는다.

 

  • number[]보다는 object가 더 상위 타입이므로 sub2 = sup2는 에러가 발생한다.

 

  • 튜플보다는 Array가 상위타입이다.

 

  • number보다는 any가 상위 타입이다.

 

  • never보다는 number가 상위 타입이다.

 

  • 상위 클래스가 상위 타입이다.

 

공변

같거나 서브타입인 경우 할당이 가능하다. 

 

반병

함수의 매개변수 타입만 같거나 슈퍼타입인 경우, 할당이 가능하다.

 

strictFunctionTypes 옵션

함수를 할당할 시에 함수의 매개변수 타입이 같거나 슈퍼타입인 경우가 아닌 경우, 에러를 통해 경고한다.

 

타입 별칭 (별명)

Primitive, Union Type, Tuple, Function 기타 직접 작성해야하는 타입을 다른 이름을 지정할 수 있다. 만들어진 타입의 다른 이름으로 사용하는 것이지 타입을 만드는 것은 아니다.

 

함수도 별칭이 가능하다.

 

728x90

'FrontEnd > TypeScript' 카테고리의 다른 글

Interface  (0) 2022.10.07
TypeScript 컴파일러  (0) 2022.09.28
TypeScript의 옵션  (0) 2022.09.26
TypeScript 타입  (0) 2022.09.20
TypeScript란?  (1) 2022.09.20

댓글