티스토리 뷰
기초부터 완성까지 프런트엔드 훑는중
이해되지않는 것 따로 정리
프로퍼티 getter와 setter
언제 사용하나요?
어떤 프로퍼티에 접근할때 동적인 계산이 필요하거나 프로퍼티 값이 변경될때마다 별도의 처리 코드가 필요하다면?
getter,setter 접근자 프로퍼티를 사용해 일반프로퍼티처럼 사용가능
접근자 프로퍼티의 값에 접근하면 getter메서드가 호출 되며 이 메서드의 반환값이 접근표현식의 결괏값
접근자 프로퍼티의 값을 변경하려고 하면 settet 메서드 호출
접근자 프로퍼티란 ?
접근자 프로퍼티 (accessor property)라 불리는 새로운 종류의 프로퍼티
접근자 프로퍼티의 본질은 함수. 이 함수는 값을 획득하고(get)하고 설정(set)하는 역할을 담당
getter와 setter 메서드로 표현 객체 리터럴안에선 get,set이라 나타냄
Object.defineProperty() 와 프로퍼티 속성
접근자 프로퍼티를 생성하는 또 다른방법으로 정적메서드 Object.defineProperty()를 사용
이 메서드는 객체에 직접 새로운 프로퍼티를 정의하거나 이미 존재하는 프로퍼티를 수정한 후 객체 반환
프로퍼티 서술자 | 설명 |
configurable | 프로퍼티 삭제및 서술자의 변경가능여부 결정 변경및 삭제가 가능하다면 속성값은 true디폴트값은 false |
enumerable | 열거시 프로퍼티 노출여부 결정, 프로퍼티가 노출된다면 속성값은true 디폴트값은 false |
writable | 프로퍼티 수정가능 여부 결정 수정가능시 속성값은true 디폴트값은 false |
value | 프로퍼티 값으로 디폴트는 undefined |
get | getter접근자 프로퍼티메서드로 디폴트 undefined |
set | setter접근자 프로퍼티메서드로 디폴트 undefined |