var str = ‘coding’;
str.prop = ‘hello world’;
console.log(str.prop);
위 코드의 2행은 오류가 나지 않는다. 분명히 문자열은 객체가 안닌 원시 데이터 타입이라 했는데, 객체처럼 사용하는 문법이 에러가 나지 않는다는 것이 의아했다. 사실 이는 js에서 제공하는 레퍼 객체이다. 객체가 아닌 것을 객체처럼 사용하려 할 때, js에서 내부적으로 객체화 시켜준다. 허나 위 코드 3행의 결과는 undefined가 되는데, 이는 내부적으로 객체화한 문자열이 실제 객체의 역할을 하지 못하고 없어져버리기 때문이다.
지난 글에서 배운 5가지의 원시 데이터 타입중 객체화가 되는 데이터 타입은 number, string, boolean이며, null이나 undefined는 객체화될 수 없다.
'프로그래밍 언어 > Script' 카테고리의 다른 글
JAVA script 참조와 복제 (0) | 2022.12.13 |
---|---|
JAVA script 원시 데이터 타입 (0) | 2022.12.13 |
JAVA script hasOwnProperty (0) | 2022.12.13 |
JAVA script 표준 내장 객체 종류 (0) | 2022.12.13 |
JAVA script prototype (0) | 2022.12.13 |