JS Study — Ch06.1 객체 타입에 대한 이해

객체 -> 순서가 없는 값의 배열

프로퍼티 타입

default 값은 사용자가 직접 정의한 경우 기준

데이터 프로퍼티
- Configurable: 프로퍼티를 수정(삭제, 속성변경, 변환 등)할 수 있는지. default is true
- Enumerable: for-in 루프에서 해당 프로퍼티를 반환하는지. default is true
- Writable: 프로퍼티의 값을 수정할 수 있는지. default is true
- Value: 프로퍼티의 실제 값. default is undefined
defineProperty 를 이용해야 각 속성들을 변경할 수 있음(각 속성을 명시하지 않는 경우 false로 처리함)

접근자 프로퍼티
getter/setter로 구성.
명시적으로 정의할 수 없음.
- Configurable: 프로퍼티를 수정(삭제, 속성변경, 변환 등)할 수 있는지. default is true
- Enumerable: for-in 루프에서 해당 프로퍼티를 반환하는지. default is true
- Get/Set: 프로퍼티를 읽고, 쓸때 호출할 함수. default is undefined
getter만 있는 경우는 읽기 전용으로 생성됨. setter만 있는 경우는 쓰기 전용.
IE 8, 파폭 3, 사파리 4, 오페라 11 이하에서는 사용불가.

다중 프로퍼티 정의

Object.defineProperties() 메서드를 이용

프로퍼티 속성 읽기

Object.getOwnPropertyDescriptor()
- 각 프로퍼티의 타입(데이터, 접근자)에 따른 객체를 반환.
IE 8, 파폭 3, 사파리 4, 오페라 11 이하에서는 사용불가.

“<<프론트엔드 개발자를 위한 자바스크립트>>(2013 인사이트, 한선용 옮김)에서 요약한 글입니다.”

Show your support

Clapping shows how much you appreciated Shia’s story.