빌트인 객체
자바스크립트가 지원하는 표준 객체
빌트인 객체와 호스트 객체의 차이
빌트인 객체란
자바스크립트 언어 자체에 포함된 객체이다. 브라우저, Node.js 등 자바스크립트가 실행되는 곳이라면 어디서나 동일하게 존재한다
- 제공자: 자바스크립트 언어 표준
- 어떤 환경에서 자바스크립트 코드를 실행하든 항상 사용이 보장된다
호스트 객체
자바스크립트가 실행되는 특정 환경이 제공하는 객체이다 그러므로 환경마다 다르다
- 제공자: 실행 환경
- 이식성이 낮다 브라우저 전용 코드는 Node.js에서 동작하지않고, Node.js전용 코드는 브라우저에서 작동하지 않는다
원시값과 래퍼 객체
**래퍼 객체(wrapper object)**
문자열, 숫자, 불리언 값에 대해 객체처럼 접근하면 생성되는 임시 객체예를 들어, 문자열에 대해 마침표 표기법으로 접근하면 그 순간 래퍼 객체인 String 생성자 함수의 인스턴스가 생성되고 문자열은 래퍼 객체의 StringData 내부 슬롯에 할당
const str = 'hi';
// 원시 타입인 문자열이 래퍼 객체인 String 인스턴스로 변환된다.
console.log(str.length); // 2
console.log(str.toUpperCase()); // HI
// 래퍼 객체로 프로퍼티에 접근하거나 메서드를 호출한 후, 다시 원시값으로 되돌린다.
console.log(typeof str); // string전역 객체
전역 객체(global object)
- 코드가 실행되기 이전 단계에 생성
- 자바스크립트 엔진에 의해 제일 먼저 생성되는 특수한 객체
- 어떤 객체에도 속하지 않은 최상위 객체