[JAVASCRIPT LEVEL1] 12. Number, String, Boolean 객체

유지원·2021년 6월 2일
0

JAVASCRIPT LEVEL1

목록 보기
12/19
post-thumbnail

이 포스팅은 '러닝 자바스크립트'를 보며 공부한 내용입니다.

✔️ Number ➜ 숫자에 대응하는 객체 타입.
✔️ String ➜ 문자열에 대응하는 객체 타입.
✔️ Boolean ➜ 불리언에 대응하는 객체 타입.

이들 객체의 두 가지 목적

✔️ Number.INFINITY 같은 특별한 값을 저장하는 것.

✔️ 함수 형태로 기능을 제공하는 것.

const s = "hello";
s.toUpperCas();       // "HELLO"

위의 예제의 s는 분명 원시 문자열 타입이지만 마치 객체처럼, 즉 함수 프로퍼티를 가진 것처럼 보입니다.

왜?

✔️ 자바스크립트는 일시적인 String 객체를 만든 것. (이 임시 객체에 toUpperCase 함수가 들어있습니다)
✔️ 자바스크립트는 함수를 호출하는 즉시 임시 객체를 파괴.


아래 예제와 같이 문자열에 프로퍼티를 할당해보면 객체가 임시로 만들어진다는 사실을 알 수 있습니다.

const s = "hello";
s.rating = 3;       // 에러가 없습니다. 성공??
s.rating;           // undefined

문자열 s에 프로퍼티를 할당하는 것처럼 보이지만 사실은 일시적인 String 객체에 프로퍼티를 할당한 것.
임시 객체는 즉시 파괴되므로 s.rating은 undefined.

profile
👋 https://github.com/ujw0712

0개의 댓글