몽탁이의 개발일기
Wrapper 객체 본문
자바스크립트에서는 데이터를 크게 분류하면 원시(기본) 데이터 타입과 객체(참조) 데이터 타입이 있습니다.
원시 데이터 타입 - 숫자, 문자열, 불리언, null, undefined
객체 데이터 타입 - 객체가 될 수 있는 것들 함수, 배열 [] , {} 등이 있습니다.
그런데 아래 예제에서 보면
var str='coding';
console.log(str.length); // 6
console.log(str.charAt(0)); // "c"
str은 문자열을 담고 있는 원시 데이터 타입이 됩니다. 하지만 str.length와 같이 str을 객체인 거처럼 사용이 됩니다.
그 이유는 자바스크립트가 str을 .으로 접근하는 순간에 임시로 str을 객체로 만들어 주게 됩니다.
즉 str.length를 하는 순간 str = new String('conding'); 자동으로 실행되고 해당 문장이 실행이 끝나면 임시로 만든
객체를 자동으로 삭제해줍니다. 바로 이것을 Wrapper 객체라고 합니다.
주의할점이 한 가지 있는데 Wrapper 객체는 임시로 생기는 것이기 때문에
var str='coding';
str.prop='everybody';
console.log(str.prop); // undefined
위 예제와 같이 str을 객체처럼 사용을 해도 임시로 만든 객체이기 때문에 prop라는 프로퍼티는 존재하지 않게 됩니다.
'Javascript 정리' 카테고리의 다른 글
script 태그 속성 async와 defer의 차이점 (0) | 2020.08.31 |
---|---|
Javascript의 데이터 타입 (0) | 2020.07.20 |
Object 객체 (0) | 2020.07.02 |
표준 내장 객체 (0) | 2020.07.02 |
prototype (0) | 2020.07.01 |