Skip to content

21. 빌트인 객체

DD edited this page Jul 26, 2021 · 2 revisions

빌트인 객체

분류

표준 빌트인 객체

  • ECMAScript 사양에 정의된 객체.
  • 어플 전역 공통 기능 제공.
  • ECMAScript 사양에 정의된 객체라서 브라우저나 Nodejs 같은 환경에 관계없이 사용할 수 있음
  • Object, String, Number, Math .. 등등

호스트 객체

  • 자바스크립트 런타임(브라우저, Nodejs)에서 추가적으로 제공하는 객체
  • 브라우저의 DOM, BOM, Canvas, XMLHttpRequest, fetch, requestAnimationFrame, SVG, Web Storage, Web Component, Web Worker 같은 것들

사용자 정의 객체

  • 개발자가 직접 정의한 객체

원시값에서 메소드를 사용할 수 있는 이유

  • 원시값에 마침표 표기법, 대괄호 표기법으로 접근하면 자바스크립트 엔진이 일시적으로 원시값을 객체로 변환한다. 이를 래퍼 객체라고 한다.

문자열에 마침표로 접근 => 래퍼 객체 생성 => 래퍼 객체의 내부 슬롯 StringData에 원시값 할당 => 해당 메소드 사용해서 동작 처리 => 처리 종료시 식별자가 원래 상태 StringData를 갖도록 되돌림 => 래퍼 객체는 가비지 컬렉션의 대상이 된다

전역 객체(window, global)는 최상위 객체지만 프로토타입 최상위 객체는 아니다.

  • 전역 객체는 어떤 객체의 프로퍼티도 아니며, 표준 빌트인 객체, 호스트 객체를 프로퍼티로 소유하고 있다.