독서/이펙티브 타입스크립트 2

[이펙티브 타입스크립트] 2022-02-15 TIL

[1장 - 아이템 3] - 타입 관련 코드는 런타임과 무관하다 → 따라서 런타임 중에는 타입 체크가 이루어지지 않으며 런타임 성능에 타입이 영향을 주지도 않는다. (대신 빌드 타임에 대한 오버헤드는 있을 수 있다) - 런타임 중에도 타입 검사하는 방법은 다음과 같다: (1) 속성 검사: 타입의 내부 속성을 통해 타입을 검사함 (eg. 'name' in person) (2) 태그된 유니온: 타입의 속성에 타입의 정보를 표기하는 태그를 추가 (eg. 'type', 'kind') (3) 클래스 사용: 클래스는 타입과 값 모두로 사용 가능 [1장 - 아이템 4] - 자바스크립트는 덕 타이핑을 기반으로 한다. 덕 타이핑(Duck typing)은 객체가 특정 타입에 해당하는 변수 및 메소드를 포함하고 있으면 해당 ..

[이펙티브 타입스크립트] 2022-02-14 TIL

[1장 - 아이템 2] - 타입스크립트 컴파일러 설정은 command line argument와 tsconfig.json을 통해 설정할 수 있다. - 타입스크립트 컴파일러 설정은 주로 입출력과 관련된 내용을 다루지만 핵심적인 기능에 대한 설정도 존재한다. (1) noImplicitAny: enable시 암시적인 any를 사용할 수 없게 된다. 따라서 명시적인 any 혹은 분명한 타입을 제시해줘야 한다. 일반적인 경우에서는 해당 옵션을 enable하는 것이 좋다. 다만, javascript 코드를 typescript 코드로 전환하는 과정에서는 (migration) 제외한다. (2) strictNullChecks: 기본적으로 null과 undefined는 모든 타입의 변수에 할당될 수 있다. (예를 들어서 ..