타입스크립트: ts2322 error 해결을 위한 서브타입 관련 개념 총정리
·
개발이야기
타입스크립트를 사용하다보면 흔히 볼 수 있는 에러가 있습니다. Type A is not assignable to type B. (2322) 위 케이스는 이해하기 너무나도 직관적이지만, 종종 저 타입 정의가 복잡해지게 되면 에러 해결에 어려움을 겪곤 합니다. 이 글에서는 이 에러 해결에 도움을 줄 수 있는 타입스크립트의 이론적인 개념들을 훑어봅니다. 서브타입과 슈퍼타입 Dog는 Animal인가요? 네 맞습니다. Animal이 Dog인가요? 아닙니다. 그러므로, Dog는 Animal의 부분집합입니다. 타입 세상에서는 더 큰 집합인 Animal을 슈퍼타입, 그 부분집합인 Dog를 서브타입이라 부릅니다. Animal을 담는 변수에 Dog를 담을수는 있지만, Dog를 담는 변수에 Animal을 담을 수는 없습니다..