16장 프로퍼티 어트리뷰트

Eriniss·2022년 10월 15일
0
post-thumbnail

16.1 내부 슬롯과 내부 메서드

내부 슬롯과 내부 메서드는 자바스크립트 엔진의 구현 알고리즘을 설명하기 위해 ECMAScript 사양에서 사용하는 의사 프로퍼티와 의사 메서드다.

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

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

이러한 프로퍼티 어트리뷰트 정보를 제공하는 프로퍼티 디스크립터 객체는 obj.getOwnPropertyDescriptor 메서드를 사용하여 확인할 수 있다.

const obj = {
  name = "Jeong"
};

console.log(Object.getOwnPropertyDescriptors(obj));

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

16.3.1 데이터 프로퍼티

value // 프로퍼티 키를 통해 프로퍼티 값에 접근하면 반환되는 값
writable // 프로퍼티 값의 변경 여부를 불리언 값으로 가짐
enumerable // 프로퍼티의 열거 가능 여부를 불리언 값으로 가짐
configurable // 프로퍼티의 재정의 가능 여부를 불리언 값으로 가짐

16.3.2 접근자 프로퍼티

get // 접근자 프로퍼티를 통해 데이터 프로퍼티의 값을 읽을 때 호출되는 접근자 함수
set // 접근자 프로퍼티를 통해 데이터 프로퍼티의 값을 저장할 때 호출되는 접근자 함수
enumerable // 위와 동일
configurable // 위와 동일

16.5 객체 변경 방지

구분메서드추가삭제값 읽기값 쓰기어트리뷰트 재정의
객체 확장 금지Object.preventExtensionsxoooo
객체 밀봉Object.sealxxoox
객체 동결Object.freezexxoxx

0개의 댓글