typescript-2

이동근·2022년 9월 19일
0

타입스크립트

목록 보기
2/3

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

자바스크립트는 덕 타이핑 기반의 함수입니다.

덕타이핑: 객체가 어떤 타입에 부합하는 변수와 메서드를 가질 경우 객체를 해당 타입에 속하는 것으로 간주하는 방식.

즉 그래서 타입스크립트는 이런 동작, 즉 매개벼수 값이 요구사항을 맍고한다면 타입이 무엇인지 신경 쓰지 않는 동작을 그대로 모델링 합니다.

그리고 타입스크립트로 함수 작성시 호출에 사용되는 매개변수의 속성들이 매개변수의 타입에 선언된 속성만을 가지지 않고 좋든 싫든 타입은 열려 있습니다.
참고: 덕타이핑, 구조적 타이핑

  • 자바스크립트가 덕 타이핑 기반이고 타입스크립트가 이를 모델링하기 위해 구조적 타이피을 사용함을 이해해야 합니다. 어떤 인터페이스에 할당 가능한 값이라면 타입 선언에 명시적으로 나열된 속성들을 가지고 있습니다. 타입은 '봉인'되어 있지 않습니다.
  • 클래스 역시 구조적 타이핑 규칙을 따른다는 것을 명심해야 합니다. 클래스의 인스턴스가 예상과 다를 수 있습니다.
  • 주조적 타이핑을 사용하면 유닛테스팅을 손쉽게 할 수 있습니다.

any 타입 지양하기

  • any 타입에는 안정성이 없습니다.
  • 함수 시그니처를 무시해 버립니다.
  • any 타입에는 언어 서비스가 적용되지 않습니다.
  • any 타입은 코드 리팩터링 때 버그를 감춤니다.
  • 타입설계를 감춰버립니다.
  • 타입시스템의 신뢰도를 떨어뜨립니다.

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

  • 편집기에서 타입스크립트 언어 서비스를 적극 활용해야 합니다.
  • 편집기를 사용하면 어떻게 타입시스템이 동작하는지, 그리고 타입스크립트가 어떻게 타입을 추론하는지 개념을 잡을 수 있습니다.
  • 타입스크립트가 동작을 어떻게 모델링하는지 알기 위해 타입 선언 파일을 찾아보는 방법을 터득해야 합니다.

출처: 이펙티브 타입스크립트, 저자 댄 배더캄

profile
하루하루 1cm 자라는 개발자

0개의 댓글