영원히 흘러가는 강
이펙티브 타입스크립트 본문
1.
타입스크립트는 자바스크립트의 상위집합.
타입 체커를 통과하면서도 런타임 오류를 발생시키는 코드는 충분히 존재
자바스크립트에서 허용되지만 타입스크립트에서는 문제가 되는 경우도 존재
2.
자바스크립트 프로젝트를 타입스크립트로 전환하는게 아니라면 noImplicitAny 설정하는게 좋음
"undefined는 객체가 아닙니다 "같은 런타임 오류 방지하기 위해 strictNullChecks 설정하는게 좋음
엄격 체크를 하고 싶다면 strict 설정 고려
3.
타입스크립트 타입은 런타임 동작이나 성능에 영향을 주지 않음
타입 오류가 존재하더라도 코드생성 가능
타입과 런타임 동작 무관하여 오버로딩 불가능
4.
js 는 덕 타이핑 기반
따라서 타입스크립트 또한 덕 타이핑 기반
덕타이핑은 따로 정리
5.
any 타입은 진짜 문제점을 감추며, 개발 경험을 나쁘게 하고, 타입 시스템 신뢰도를 떨어뜨린다.
최대한 사용 자제
6.
타입스크립트가 동작을 어떻게 모델링하는지 알기 위해 타입 선언 파일을 찾아보는 방법 터득해야한다
편집기의 도움으로 타입 추론 개념 잡아보기
7.
유한(boolan)하거나 무한(string, number)
엄격한 상속 관계가 아니라 겹쳐지는 집합으로 표현
8.
모든 값은 타입을 가지지만, 타입은 값을 가지지 않는다 type,interface 키워드는 타입 공간에만 존재
class, enum 은 타입과 값 두가지로 사용 가능
9.
타입 단언(as Type) 보다는 타입 선언(: Type) 사용
타입 선언은 할당되는 값이 해당 인터페이스를 만족하는지 검사
타입 단언은 강제로 타입 지정하여 타입 체커에게 오류 무시
10.
객체 래퍼 타입은 지양하고 기본형 타입 사용
'TypeScript' 카테고리의 다른 글
object value 출력 (0) | 2022.01.03 |
---|---|
Props + 배열 안에 객체 (0) | 2021.12.22 |
TypeScript + React (0) | 2021.11.10 |
TypeScript 기본 타입 (0) | 2021.06.14 |
TypeScript (0) | 2021.06.14 |