자바스크립트 엔진은 프로퍼티를 생성할 때 프로퍼티의 상태를 나타내는 프로퍼티 어트리뷰트를 기본값으로 자동 정의한다. 프로퍼티의 상태는 값, 갱신 가능 여부, 열거 가능 여부, 재정의 가능 여부를 말한다. 프로퍼티는 데이터 프로퍼티와 접근자 프로퍼티로 구분된다. 데이터 프로퍼티는 일반적인 프로퍼티이며, 접근자 프로퍼티는 자체적으로 값을 가지지 않고 다른 데이터 프로퍼티의 값을 읽거나 저장할 때 사용하는 접근자 함수로 구성된 프로퍼티이다. 프로퍼티 정의란 새로운 프로퍼티를 추가하면서 프로퍼티 어트리뷰트를 정의하거나, 기존 프로퍼티의 어트리뷰트를 재정의하는 것을 말한다. Object.defineProperty 메서드를 사용하면 프로퍼티 어트리뷰트를 정의할 수 있다. https://developer.mozill..