← Back to NOTES 🌰 ← Back to Effective TypeScript

← 아이템 9 - 타입 단언보다는 타입 선언을 사용하기

핵심 요약

자바스크립트 기본형(string, number, boolean 등)에는 메서드를 사용할 때 내부적으로 객체 래퍼(String, Number, Boolean)로 변환되지만, 타입스크립트에서는 기본형 타입을 사용해야 한다. 객체 래퍼 타입은 기본형 타입에 할당할 수 없으며, 혼란을 야기할 수 있으므로 피해야 한다.

자세한 내용

자바스크립트 기본형과 객체 래퍼

자바스크립트 기본형

객체 래퍼의 동작

기본형에 메서드를 사용할 때:

  1. 기본형을 객체 래퍼(String, Number 등)로 래핑
  2. 메서드 호출
  3. 래핑한 객체를 버림

객체 래퍼 타입의 문제점

속성 할당이 사라짐

기본형에 속성을 할당하면 객체로 변환 후 버려지므로 속성이 사라진다.

동일성 비교 문제