자바스크립트 - Wrapper 객체

이정인·2022년 3월 1일
0

기초부터 완성까지, 프런트엔드를 읽고 정리한 내용입니다.

Wrapper 객체

박싱 (Boxing)

자바스크립트는 문자열, 숫자, 불리언 타입에 접근할 때 내부적으로 해당 값을 가지고 임시 객체로 변환한다. 그리고 프로퍼티 접근이 종료되면 객체는 메모리에서 제거된다.

이러한 과정을 박싱이라고 하며 이 과정을 통해서 원시 타입도 객체처럼 프로퍼티에 접근할 수 있다.

const str = 'javasciprt'
console.log(str.length)

박싱 과정에서 생성되는 임시 객체를 랩퍼 객체라고 한다. 문자열, 숫자, 불리언 타입만 존재하며 각각에 대응하는 네이티브 생성자로 String(), Number(), Boolean()이 있다.

랩퍼 객체는 원시 타입과 다르게 객체이다.

const str = new String();
consle.log(typeof str); //object

자바스크립트 내부적으로 박싱 과정을 최적화 하기 때문에 굳이 래퍼 객체를 사용하지는 않는다.

언박싱 (UnBoxing)

랩퍼 객체를 원시 타입으로 변환한다. 명시적으로 valueOf() 메서드를 호출해 수행할 수 있다.

const num = new Number(11)
console.log(num.valueOf()); //11

0개의 댓글