← Back to NOTES 🌰 ← Back to Effective TypeScript

← 아이템 33 - string 타입보다 더 구체적인 타입 사용하기

핵심 요약

타입이 없는 것보다 잘못된 타입이 더 나쁘다. 타입을 구체적으로 정제한다고 해서 정확도가 무조건 올라가지는 않는다. 오히려 과도하게 구체적인 타입은 부정확해지고 복잡성이 증가하여 사용성을 해칠 수 있다. 때로는 부정확한 타입보다 미완성 타입을 사용하는 것이 더 낫다.

자세한 내용

타입 모델링: 구체적 vs 덜 구체적

타입을 구체적으로 만들수록:

하지만, 타입 선언을 구체적으로 하는 일에는 주의를 기울여야 한다.

GeoPosition 예제: 과도한 구체화의 문제

초기 버전

coordinates: number[]  // 위도와 경도를 담은 배열

이는 약간 추상적이므로 튜플로 개선할 수 있다고 생각할 수 있다.

개선(?) 버전

type GeoPosition = [number, number];  // [위도, 경도]

문제점: coordinates 배열의 세 번째 값으로 고도값이나 다른 값이 추가될 수 있다.

결과