컴퓨터/JavaScript_typescript

[ JavaScrip ] 객체 생성 방식, OrdinaryObjectCreate

수제녹차 2021. 1. 21. 19:22
728x90
반응형

source : 이웅모, 자바스크립트 deep dive

 

* 자바스크립트는 프로토타입 기반 객체 생성 메커니즘을 지닌다

 

[ 객체 생성 방식 ]

1. 객체 리터럴

2. Object 생성자 함수

3. 생성자 함수

4. Object.create 메서드

5. 클래스 ( ES6 )

=> 프로토타입 체인은 모든 객체 생성 방식에 의해 생성된 인스턴스에 동일하게 적용된다.

 

* 추상연산 OrdinaryObjectCreate

각 방식마다 객체 생성 방식의 차이는 있으나 추상연산 OrdinaryObjectCreate에 의해 생성된다는 공통점이 있다.

OrdinaryObjectCreate : 필수적으로 자신이 생성할 객체의 프로토타입을 인수로 전달받는다.

ex. 객체 리터럴, new Object() : Object.prototype

그리고 자신이 생성할 객체에 추가할 프로퍼티 목록을 옵션으로 전달할 수 있다.

1. 빈 객체 생성

2. 추가할 프로퍼티 목록이 인수로 전달된 경우 프로퍼티를 객체에 추가

3. 인수로 전달받은 프로토타입을 자신이 생성할 객체의 [[Prototype]] 내부 슬롯에 할당

4. 생성한 객체를 반환한다.

반응형