빌트인 객체

자바스크립트가 지원하는 표준 객체

빌트인 객체와 호스트 객체의 차이

빌트인 객체란

자바스크립트 언어 자체에 포함된 객체이다. 브라우저, 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)

  • 코드가 실행되기 이전 단계에 생성
  • 자바스크립트 엔진에 의해 제일 먼저 생성되는 특수한 객체
  • 어떤 객체에도 속하지 않은 최상위 객체