[딥다이브] 16장 프로퍼티 어트리뷰트
JavaScript/모던자바스크립트 딥다이브

[딥다이브] 16장 프로퍼티 어트리뷰트

16.1  내부슬롯과 내부 메서드

- js 엔진의 내부로직으로 직접 접근 및 호출이 불가능하다.

- 하지만 일부에 한해 간접적으로 접근가능 . 

 [[Prototype]] 내부슬롯에는 __proto__를 통해 간접적으로 접근 가능

 

16.2 프로퍼티 어트리뷰트와 프로퍼티 디스크립터 객체

js 엔진은 프로퍼티를 생성할때 프로퍼티의 상태를 나타내는 프로퍼티 어트리뷰트를 기본값으로 자동정의한다.

 

-프로퍼티 어트리뷰트 (attribute 속성) : 프로퍼티의 상태( 값 , 갱신가능여부 , 열거여부 , 제정의 가능여부  )를 나타냄

-프로퍼티 디스크립터(descriptor, 설명): 프로퍼티 어트리뷰트의 정보를 제공함

 

16.3 데이터  프로퍼티와 접근자 프로퍼티

-데이터 프로퍼티: 키 ,값으로 구성된 일반적인 프로퍼티

-접근자 프로퍼티: 자체적으로 값을 갖지않고 다른 데이터 프로퍼티의 값을 읽거나 저장할 때 호출되는 접근자함수(getter/setter)로 구성된 프로퍼티

 

16.4 프로퍼티 정의

- Object.defineProperty 메서드를 통해 프로퍼티 어트리뷰트를 정의하거나 재정의 할 수 있다.

 

16.5 객체 변경 방지