자바스크립트는 원시값들을 객체처럼 다루는 것을 허용한다.
원시값에서도 객체에서처럼 메서드를 호출할 수 있게 된다.
원시값과 객체는 다음과 같은 차이점이 존재한다.
{name: “John”, age: 30}
처럼 중괄호를 사용해 만들 수 있다.객체의 장점 중 하나는 함수를 프로퍼티로 저장할 수 있다는 점이다.
자바스크립트는 날짜, 오류, HTML 요소 등을 다룰 수 있게 해 주는 다양한 내장 객체를 제공한다. 이 객체들은 고유한 프로퍼티와 메서드를 가진다.
그러나 이 기능들을 사용하면 시스템 자원이 많이 소모된다는 단점이 있다.
객체는 원시값보다 무겁고, 내부 구조를 유지하기 위해 추가 자원을 사용하기 때문이다.
문자열이나 숫자와 같은 원시값을 다룰 때, 메서드를 사용하면 작업을 훨씬 수월하게 할 수 있다. 그러나 원시값은 가능한 한 빠르고 가벼워야 하기 때문에 자바스크립트 창안자는 다음과 같은 방법을 사용했다. (참고용)
래퍼 객체는 원시 타입에 따라 종류가 다양하다. 각 래퍼 객체는 원시 자료형의 이름을 그대로 차용해, String, Number, Boolean, Symbol
이라고 부른다. (null 과 undefined를 제외한다.) 래퍼 객체마다 제공하는 메서드 역시 다르다.