TS #10 : 객채 래퍼 타입 피하기

객체 래퍼 타입 피하기

자바스크립트에는 객체 이외에도 기본형 값들에 대한 일곱가지 타입(string, number, boolean, null, undefined, symbol, bigint)이 있다.

이중 string, number, boolean, null, undefined은 이전 자바스크립트부터 존재해왔고, symbol은 ES2015에서 추가되었고, bigint는 최종 확정단계에 있다고 한다.
기본형들은 모두 immutable이며 method를 가지지 않는 점에서 객체와 구분된다.

'primitive'.charAt(3);

위 코드는 string 기본형인데, 메서드를 가지고 있다. 이건 기본형 자체에 메서드가 있는것이 아니라, 자바스크립트에서 기본형에 메서드를 사용 할 때, String 객체로 래핑하고, method를 호출하고, 마지막에 래핑한 객체를 버리는 과정을 거치고 있다.

function isGreeting(phrase: String) {
  return [
    'hello', 'good day'
    ].includes(phrase);
}

위 코드는 애러가 발생하는데, String은 객체기 때문에 string 기본형에 할당 할 수가 없어 에러가 발생한다.

되도록이면, 반드시 필요한 경우가 아니라면 기본형을 사용하고 객채 래퍼 타입을 피하는 것이 좋다.

좋은 웹페이지 즐겨찾기