티스토리 뷰

이론/JS

[JS] Object.create()

millfeel1298 2021. 2. 24. 10:37

문법

Object.create(proto[, propertiesObject])

[proto]
새로 만든 객체의 prototype이어야 할 객체.


[propertiesObject - 옵션]

값을 생략했을 경우 => 빈 객체를 생성한다.

값을 설정하되, 플래그 값을 생략했을 경우 => 생략한 플래그의 값은 false가 된다.

 

이러한 속성은 Object.defineProperties()의 두 번째 인수에 해당한다.

(Object.defineProperties(): 한번에 여러 개의 프로퍼티를 정의/수정하는 기능)

 

[예제]

let user = {
  name : 'mill'
}

// 2번째 인수 값을 주지 않을 경우, 빈 객체가 생성된다.
let empty = Object.create(user);
empty; // {} 

// 2번째 인수의 플래그 설정 값을 생략한 경우, 생략한 값은 false가 된다.
let join = Object.create(user, {
  age : {
    value: 15,
    writable: true
  }
});

Object.getOwnPropertyDescriptor(join, 'age');

*위 코드를 이해하려면 플래그에 대한 기본 지식이 필요하다.


강의

 

# 00:50

Object.create() 사용


[공부 좌표]

Object.create()

프로토타입 메서드와 __proto__가 없는 객체

13.3. Object.create()

 

[기본 지식]

프로퍼티 플래그를 (특별한 방식으로)추가 / 변경 / 얻는 방법

데이터 프로퍼티(data property) 플래그 - writable, enumerable, configurable

 

 

'이론 > JS' 카테고리의 다른 글

[JS] data-*속성과 dataset 프로퍼티  (0) 2021.02.27
[JS] Q. 함수는 객체이다?  (0) 2021.02.25
[JS] class - super  (0) 2021.02.23
[JS] Element.closest()  (0) 2021.02.23
[JS] 화살표 함수  (0) 2021.02.19
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함