해결된 질문
작성
·
309
0
안녕하세요.
좋은 강의 잘 듣고 있습니다.
강의 중에 크롬개발자 도구에 한 번씩
<invoke property getter> 이렇게 나오는건 어떤 의미인가요?
답변 2
2
property getter가 있는 경우에 그렇습니다. 예를들어..
const obj = {
get a() { return 1; }
};
console.dir(obj);
이런 경우에,
obj.a 라는 프로퍼티는 실제로는 존재하지 않지만, 대신 getter는 있기 때문에,
obj.a 에 접근하는 구문을 만나면 자바스크립트 엔진은 자동으로 getter를 호출합니다.
호출된 getter 메소드 내부가 실행되고 그 결과로 반환된 값을 obj.a로 인식하게끔 처리합니다.
obj.a에 접근하는 매 순간마다 getter를 호출하고 그 결과를 바라보도록 처리하는 것이죠.
그러니까 console로 열어보았을 때,
obj.a는 원래는 없지만,
getter 실행에 의해 값을 알아올 수는 있는 대상이지만,
getter를 실행하기 전까지는 알 수 없는 값입니다.
사용자가 추가적인 동작 (invoke property getter) 을 하면 그 때 비로소 값을 읽어올 수 있는 것이죠.
즉 "property getter를 invoke(깨우다/발동시키다/소환하다) 하면, 그 때 값을 알려줄게~" 라는 표시입니다.
0