본문 바로가기
programing/자바스크립트

[JS.개발일지] 9. 자바스크립트 6(프로퍼티 어트리뷰트)

by heesangs 2025. 1. 13.

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 : 객체를 완전 얼려버려 아무것도 할 수 없도록 한다. 

 

 

댓글