HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
👻
개발 기록
/
🐧
이펙티브 타입스크립트
/
📗
8장 타입스크립트로 마이그레이션하기
📗

8장 타입스크립트로 마이그레이션하기

item 58

  • ECMAScript 모듈 사용하기. (import, export 도입)
  • 프로토타입 대신 클래스 사용하기.
    • 코드가 간결해짐.
  • var대신 let/const 사용(호이스팅 관점에서)
  • for(;;)대신 for-of 또는 forEach 사용.
  • 함수 표현식보다 화살표 함수 사용(this문제와 연관지어서 설명하고 컴파일러 옵션.에 noImplictThis 또는 strict를 설정하면 TS가 this 바인딩 관련 오류를 표시해줌).
  • 단축 객체 표현과 구조 분해 할당 사용.
  • 함수 매개변수 default value 지정해주기.
  • 저수준 프로미스나 콜백 대신 async/await 사용하기.
  • 연관 배열에 객체 대신 Map과 Set사용(constructor라는 Object.prototype을 예시로 듦)
  • 타입스크립트에 use strict 넣지 않기(TS의 안전성 검사가 엄격 모드보다 훨씬 더 엄격한 체크를 하기 때문)
 

item 59

  • 타입스크립트로의 전환에 앞서 @ts-check로 먼저 시험해 볼 수 있음. (파일 상단에 // @ts-check 추가)
  • 다만 이 방법은 noImplicitAny 설정을 해제한 것보다 가볍게 체크함.
 

item 60

  • allowJs로 타입스크립트와 자바스크립트 같이 사용할 수 있음.
 

item 61

  • 마이그레이션 첫 단계는 서드파티 모듈과 외부 API 호출에 대한 @types를 추가하는 것임.
  • 의존성 관계도의 아래서부터 위로 올라가며 마이그레이션 진행.
notion image
  • 이상한 걸 발견해도 리팩터링을 하면 안됨. 마이그레이션에 집중하자.
 

item 62

  • 마이그레이션의 마지막 단계로 noImplicitAny를 설정하여 타입 선언과 관련된 실제 오류를 해결해야 함.