-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
19. 추론 가능한 타입을 사용해 장황한 코드를 방지
- 타입스크립트가 타입을 추론 가능하다면 타입 구문을 작성하지 말라
- 함수/메서드의 시그니처에는 타입 구문 적기, 함수 내부의 지역 변수에는 타입 구문을 적지 않기
- 타입 구문을 최소화하고 코드를 읽는 사람이 구현 로직에 집중할 수 있게 하는 것이 좋음
- 객체 리터럴과 함수 반환에는 타입을 명시하자 -> 정확한 위치에 오류가 표시됨
20. 다른 타입에는 다른 변수 사용하기
- 변수의 값은 바뀔 수 있지만 타입은 일반적으로 바뀌지 않음
- 타입이 다른 값을 다룰때에는 변수를 분리하는게 좋다.
21. 타입 넓히기
- 타입스크립트가 상수의 타입을 추론할 때 '넓히기'를 사용함
- ex. let x = 'x' 일 때, 타입스크립트는 x의 타입을 string으로 추론
- const를 사용하면 더 좁은 타입으로 추론됨
- const x = 'x'로 할당할 경우, x는 재할당될 수 없으므로 타입을 'x'로 추론
- 값 뒤에 as const를 작성하면 타입스크립트는 최대한 좁은 타입으로 추론함
22. 타입 좁히기
- if문으로 특정 타입의 데이터만 걸러내기
- 객체에 존재하는 속성으로 체크
- instanceof를 사용
- Array.isArray 같은 내장 함수 사용
- 타입에 명시적 태그를 추가하기 ex. interface UploadEvent {type : 'upload'; filename : string; contents : string; }
23. 객체 생성하기
- 속성을 제각각 추가하지 말고 한꺼번에 객체로 만들기 -> 타입 추론에 유리
- 객체를 생성할 때 객체 전개 연산자(...)를 활용
- 제각각 나눠서 만들어야 한다면 as를 사용해 타입 체커를 통과하게 만들수 있음