Item 34 부정확한 타입보다는 미완성 타입을 사용하기

About

타입이 구체적일수록 버그를 더 많이 잡고 타입스크립트가 제공하는 도구를 활용할 수 있게 된다.

하지만 타입 선언의 정밀도를 높이는 일에는 주의를 기울여야 한다.

  • 실수가 발생하기 쉽고, 잘못된 타입은 차라리 타입이 없는 것보다 못할 수 있기 때문이다.

  • 잘못된 타입은 빌드를 깨뜨리고, 부정확한 타입을 낳으며, 기존 코드를 그대로 쓰려면 타입 단언문이나 as any를 사용해 타입 체커를 무시해야 된다.

Summary

타입을 과하게 정밀하게 만들지 말자.

타입을 "잘" 만들자. 🧐

  • 타입 안전성에서 불쾌한 골짜기(uncanny valley)는 피해야 한다. 타입이 없는 것보다 잘못된 게 더 나쁘다.

    • 어설프게 완벽을 추구하려다가 오히려 역효과가 발생한다는 것이다.

  • 정확하게 타입을 모델링할 수 없다면, 부정확하게 모델링하지 말아야 한다.

    • 또한, anyunknown을 구별해서 사용해야 한다.

  • 타입 정보를 구체적으로 만들수록 오류 메시지와 자동 완성 기능에 주의를 기울여야 한다.

    • 정확도뿐만 아니라 개발 경험과도 관련된다.

Last updated