안녕하세요. 아래 강의 내용 중 궁금한 점이 있어 질문드립니다.
- 강의 : Reactivity 구현
- 내용 :
var viewModel = {}; 와 같이 선언 후,
Object.defineProperty(viewModel, 'str', ...) 과 같이 str이라는 속성이 정의가 되었잖아요?
그리고 나서 크롬으로 실행한 다음에, 콘솔에서 viewModel.str = 'hello'; 라고 입력하면
할당했으니 "할당 hello"라고 출력이 됩니다.
그런데 그 다음에, viewModel.str을 입력하면 "접근"이라고는 나오는데, str의 값인 "hello"도 출력되어야 하는 것은 아닌가요?
Object.defineProperty를 통해 정의된 속성은 유지되는게 아니라 그 안에서만 유지되는 지역변수와 같은 개념으로 이해하면 될까요?