
156
6장 객체
설명할 고급 기능입니다.
Object.create()
를 사용하는 목적 중 하나는 서드 파티 라이브러리에서 (악의적
인 의도가 없더라도) 객체를 변경하는 사고를 막는 것입니다. 객체를 라이브러리
함수에 전달하지 않고 원래 객체를 상속하는 객체를 전달하면, 그 함수는 아무 문
제 없이 상속된 값을 읽을 수 있습니다. 라이브러리에서 부주의하게 프로퍼티 값을
바꾸더라도 원래 객체에는 영향이 없습니다.
let o
=
{ x: "don't change this value" };
library.function(Object.create(o)); //
의도치
않은
변경에
대한
방어
이런 일이 어떻게 가능한지 이해하려면 자바스크립트에서 프로퍼티를 검색하고 설
정하는 방식을 이해해야 합니다. 다음 절에서 이에 관해 설명합니다.
6.3
프로퍼티 값에 접근할 때는 점(
.
)이나 대괄호(
[]
) 연산자를 사용합니다. 이 연산자
의 왼쪽은 값이 객체인 표현식이어야 합니다. 점 연산자를 사용한다면 오른쪽은 반
드시 프로퍼티 이름인 단순한 식별자여야 합니다. 대괄호를 사용한다면 그 안에 있
는 값은 원하는 프로퍼티 이름인 문자열로 평가되는 표현식이어야 합니다.
let author
=
book.author; // book
의
author
프로퍼티를 ...