그림 2 · 데이터 프로퍼티 vs 접근자 프로퍼티

앞 두 칸만 갈리고, 뒤 두 칸(enumerable · configurable)은 양쪽이 똑같이 가진다.

데이터 프로퍼티 값을 저장한다
value값 그 자체
writable값을 바꿀 수 있나
공통 꼬리표
enumerable목록에 나오나
configurable잠겼나
접근자 프로퍼티 동작으로 가로챈다
get읽을 때 실행할 함수
set쓸 때 실행할 함수
공통 꼬리표
enumerable목록에 나오나
configurable잠겼나
왜 둘은 합쳐질 수 없을까? 같은 프로퍼티가 value(저장된 값)와 get(계산하는 함수)을 동시에 가질 수는 없어요. obj.x를 읽을 때 저장된 값을 줄지, 함수를 실행할지는 둘 중 하나여야 하니까요.