3.2 래퍼 박싱하기

jude·2022년 2월 2일
0

you don't know js

목록 보기
21/30
post-thumbnail

원시 값엔 프로퍼티나 메서드가 없으므로 .length, toString()으로 접근하려면 객체 래퍼( ex. new String("abc") )로 감싸줘야 한다.(다른 언어에서는..) 하지만 자바스크립트는 원시 값을 알아서 박싱(래핑)하므로 아래와 같은 코드가 가능하다.

var a = "abc";

a.length; // 3
a.toUpperCase(); // "ABC"

그런데 이렇게 사용하는 경우가 상당히 빈번하기 때문에 개발자 입장에서는 객체 래퍼를 직접 선언해주면 브라우저 최적화를 시킬 수 있지 않을까? 할텐데 그건 좋은 생각이 아니다.

오래전부터 브라우저는 이런 흔한 경우를 스스로 최적화 하기 때문에, new String("abc"), new Number(42)처럼 코딩하지 말고, 그냥 원시값으로 "abc", 42를 사용하자.

결론

숫자, 문자 등과 같은 원시값은 리터럴로 생성하자.

profile
UI 화면 만드는걸 좋아하는 UI개발자입니다. 프론트엔드 개발 공부 중입니다. 공부한 부분을 블로그로 간략히 정리하는 편입니다.

0개의 댓글