내부 슬롯, 내부 메서드
자바 엔진 알고리즘을 설명하기 위한 의사 슬롯과 의사 메서드이다.
둘다 내부 로직에 관련되어 있어서 직접 접근은 안되고 간접 접근은 가능하다.
[[ ]]으로 나타낸다.
내부슬롯은 객체를 만들면 객체 안에 [[Prototype]]으로 자동으로 생성된다.
간접접근으로 객체이름.__proto__ 로 접근할 수 있다.
어트리뷰트
프로퍼티의 상태를 나타내는 프로퍼티로 내부슬롯에 해당된다.
구성은 값, 값의 변경 여부, 열거가능여부, 재정의 가능 여부를 나타낸다.
역시나 직접접근은 안되고 Object.getOwnPropertyDescriptor(객체이름, '키') 로 표현한다.
참조할 객체와 키값을 받으면 디스크립터 객체를 반환한다.
프로퍼티의 종류
데이터 프로퍼티 - 일반적인 키와 값으로 구성된 우리가 아는 프로퍼티다
접근자 어트리뷰트 - 값이 아닌 다른 프로퍼티에 접근하는 접근자 함수로 구성된 프로퍼티
어트리뷰트도 데이터 프로퍼티랑 다르게 프로퍼티에 읽거나 저장할 때 호출되는 get과 set,
열거가능 여부, 재정의가능 여부로 구성되어있다.
Object.defineProperty 매서드를 사용하면 프로퍼티의 어트리뷰트를 정의할 수 있다.
객체 변경 방지
객체확장금지 - 프로퍼티 추가가 금지되고 나머지는 어트리뷰트는 true다.
객체 밀봉 - 프로퍼티 추가, 삭제, 재정의가 금지되고 나머지는 true다.
객체 동결 - 읽기 외엔 모두 금지된다.
'진행중 > 모던 JS - 1회독 공부기록' 카테고리의 다른 글
공부기록(복습) - 프로퍼티 어트리뷰트 (0) | 2022.09.03 |
---|---|
공부기록 - 생성자 함수 (0) | 2022.08.25 |
공부 기록 - 함수 (0) | 2022.08.22 |
공부기록 - 원시값과 객체의 비교 (0) | 2022.08.20 |
공부기록 - 객체 (0) | 2022.08.20 |