자바스크립트의 객체는 표준빌트인 객체, 호스트 객체, 사용자 정의 객체로 나눌 수 있다.
Object, String, Number, Function, Promise, Error 등등 40여 개의 표준 빌트인 객체가 있으며, Math, Reflect, JSON을 제외한 인스턴스를 생성할 수 있는 생성자 함수 객체이다.
원시값 console.log(”hello”.length);
에서 5가 출력되는 현상은 자바스크립트 엔진이 일시적으로 원시값을 연관된 객체로 변환해주고, 메서드를 호출한 뒤 다시 원시값으로 되돌리는 것이다. 이때 생성되는 임시 객체를 래퍼 객체(wrapper object)라 한다.
null과 undefined는 래퍼 객체를 생성하지 않기 때문에 이를 객체처럼 사용하면 에러가 발생한다.
전역객체는 코드가 실행되기 이전 단계에 자바스크립트 엔진에 의해 가장 먼저 생성되는 특수한 객체로서, 어떤 객체에도 속하지 않은 모든 빌트인 객체의 최상위 객체이다.