인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

김지웅님의 프로필 이미지
김지웅

작성한 질문수

Vue.js 시작하기 - Age of Vue.js

Reactivity 강의에서 Object.defineProperty 관련 질문입니다!

작성

·

155

1

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

답변 1

0

안녕하세요 지웅님, 좋은 질문이네요. 말씀하신 viewModel.str 코드로 속성을 접근하시면 접근에 해당하는 get() {} 메소드의 로직만 실행됩니다 :)

김지웅님의 프로필 이미지
김지웅

작성한 질문수

질문하기