1. 프로퍼티 어트리뷰트.
1) 데이터 프로퍼티 : key : value - 일반 프로퍼티
2) 엑세서 프로퍼티 : getter setter - 다른 값을 가져오거나 설정하는 프로퍼티
왜 알아야 하는가?
객체안에 프로퍼티를 더 세밀하게 제어할 수 있다.
writable : 수정 (true / false)
enumerable : 열거
configurable : 삭제 가능여부
Object.defineProperty() 함수를 사용하면 해당 속성값을 설정할 수 있고
Object.getOwnPropertyDescriptor() 함수를 사용하면 해당 속성값들을 확인할 수 있다.
활용방안
1) 라이브러리나 프레임워크 설계시 내부적으로 감춰야하는 속성이나 사용자가 수정하면 곤란한 속성에 제약을 건다.
2) 불필요한 프로퍼티가 반복문이나 Object.keys()에 표시되지 않도록 enumerable을 조정한다.
2. 불변객체 (immutable Object ) 정의하기
1) preventExtension : 객체가 추가되는것을 막는다. (수정하고 삭제는 가능)
2) seal : 객체의 구조가 봉인된다. (수정만 가능)
3) freezed : 객체를 완전 얼려버려 아무것도 할 수 없도록 한다.
'programing > 자바스크립트' 카테고리의 다른 글
[JS.개발일지] 11. 자바스크립트8 (this) (0) | 2025.01.17 |
---|---|
[JS.개발일지] 10. 자바스크립트 7(프로토타입 체인. 메모리저장구조) (0) | 2025.01.13 |
[JS.개발일지] 8. 자바스크립트 5(상속) (0) | 2025.01.11 |
[JS.개발일지] 7. 자바스크립트 4(class) (0) | 2025.01.04 |
[JS.개발일지] 6. 자바스크립트 3-2(배열메서드) (0) | 2024.12.30 |
댓글