타입스크립트 프로그래밍, 저자: 보리스 체르니
를 읽고 정리했습니다.
스칼라에서 유래한 기능으로, 같은 이름을 공유하는 객체와 클래스를 쌍으로 연결한다. 타입스크립트에도 타입과 객체를 쌍으로 묶어주는, 비슷한 기능의 비슷한 패턴이 존재한다.
*Currency가 빨간줄인 이유는 tsConfig.json
에서 noImplicityAny
가 true
로 설정되어 있는 상태이고. Currency가 현재 Any
타입으로 추론되고 있기 때문에 경고를 보내는 것이다.
타입스크립트에서 타입과 값은 별도의 네임스페이스를 갖는다.
이는 곧 하나의 이름을
타입
과값
모두에 연결 할 수 있다는 것이다.
여기서 컴패니언 객체 패턴을 이용하면 별도의 네임스페이스를 이용해 한번은 타입으로, 한번은 값으로 두번 이름을 선언할 수 있다.(타입
과값
정보를Currency
(위 코드의 예시)같은 한 개의 이름으로 그룹화가 가능하다. 또한 호출자는 이둘을 한 번에 import할 수 있다.
타입과 객체가 의미상 관련되어 있고, 이 객체가 타입을 활용하는 유틸리티 메서드를 제공한다면 컴패니언 객체 패턴을 이용하자.