programing/자바스크립트
[JS.개발일지] 9. 자바스크립트 6(프로퍼티 어트리뷰트)
heesangs
2025. 1. 13. 23:00
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 : 객체를 완전 얼려버려 아무것도 할 수 없도록 한다.