Native Object APIs

Native Object APIs

Native Object APIsECMAScript 2024(15th Edition), ECMAScript 2023(14th Edition), ECMAScript 2022(13th Edition), ECMAScript 2021(12th Edition), ECMAScript 2020(11th Edition), ECMAScript 2019(10th Edition), ECMAScript Internationalization API Specification, Intl Locale Info Proposal, Resizable ArrayBuffer and growable SharedArrayBuffer

ECMAScript에 기본 내장된 객체들에 대해 소개하는 문서이다.

설명

네이티브 오브젝트(Native objects)는 통상 자바스크립트(JavaScript)에 내장된 기본 객체들을 뜻한다. 이제 자바스크립트는 표준화가 완료되어 ECMAScript라 부르고 있으므로 ECMAScript에 내장된 객체를 의미하는 것이기도 하다. 

ECMAScript는 함수(functoin)형 객체 기반 언어이다. 데이터 타입으로는 원시타입(StringNumber, Boolean, Undefined, Null, Symbol)과 Object로 나눌 수 있다.

ECMAScript는 기본적으로 함수 단위이며 모든 객체는 함수에서 생성되며 Prototype으로 확장(상속)된다. 따라서 이러한 객체들을 생성할 수 있도록 기본적으로 객체 생성이 가능한 함수를 내장하고 있다. ECMAScript는 객체를 다루는 언어이지만 보통의 객체 지향 언어와는 다른 방식을 가지고 있다. 다른 객체 지향 언어에서는 상속이라는 방식으로 상위 객체를 직접 가져와서 상속된 객체를 만들 수 있지만 ECMAScript는 확장이라는 방식으로 상속하는 객체의 멤버에 접근한다. 이것을 프로토타입 체인(prototype chain)이라고 부르는데 상속 관계의 모든 객체는 각자의 내부 슬롯(internal slot)인 [[Prototype]]을 가지고 연결(Link)되는 개념이라 할 수 있다. 

최상위 객체는 Object이며 모든 객체는 Object를 상속받아 확장한다.