분류 전체보기

    Item 6. 편집기를 사용하여 타입 시스템 탐색하기

    편집기에 커서를 올리면 타입을 어떻게 추론하는 지 추측할 수 있다. XX.d.ts 파일을 통해 타입스크립트가 동작을 어떻게 모델링 하는 지 확인 할 수 있다. 더보기 제목 : 이펙티브 타입스크립트 : 동작 원리의 이해와 구체적인 조언 62가지 출판사 : 오랠리 지은이 : 댄 밴더캄 발행 : 2쇄 21년 11월 4일

    Item 5. any 타입 지양하기

    any 타입을 쓰면 타입스크립트를 쓰는 의미가 무색해진다. 왠만하면 쓰지 말자. 테스트할 때와 같이 너무 명백하게 타입을 알고 있을 경우를 제외하고. 더보기 제목 : 이펙티브 타입스크립트 : 동작 원리의 이해와 구체적인 조언 62가지 출판사 : 오랠리 지은이 : 댄 밴더캄 발행 : 2쇄 21년 11월 4일

    Item 4. 구조적 타이핑에 익숙해지기

    자바스크립트는 덕 타이핑 기반이다. 클래스도 구조적 타이핑 규칙을 따른다. 구조적 타이핑을 사용하면 유닛 테스트를 수월하게 할 수 있다. 덕 타이핑(Duck Typing)? 참고 구조적 타이핑(Structural Typing)? TypeScript의 타입 호환성은 구조적 서브 타이핑(subtyping)을 기반으로 합니다. 구조적 타이핑이란 오직 멤버만으로 타입을 관계시키는 방식입니다. TypeScript의 구조적 타입 시스템의 기본 규칙은 y가 최소한 x와 동일한 멤버를 가지고 있다면 x와 y는 호환된다는 것입니다. 예를 들어: interface Named { name: string; } let x: Named; // y의 추론된 타입은 { name: string; location: string; } 입..

    Item 3. 코드 생성과 타입이 관계없음을 이해하기

    타입스크립트 컴파일러는 두 가지의 역할을 수행한다. 구버전의 자바스크립트로 트랜스파일 타입 오류 체크 이 둘은 독립적으로 이루어지기 때문에 타입오류가 있는 코드도 컴파일이 가능하다. 만약 오류가 있을 경우 컴파일 하지 않으려면 noEmitOnError를 설정하거나 빌드 도구에 적용하면 된다. 런타임에는 타입체크가 불가능하다. 따라서 instanceof와 같이 런타임에 체크가 일어나는 경우 타입체크를 정상적으로 할 수 없다. 이러한 문제를 해결할 수 있는 방법은 1. 런타임에도 타입 정보를 체크할 수 있도록 코드 작성 function caculateArea(Shape){ if('height' in shape){ shape; //타입이 Rectangle return shape.width * shape.hei..