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

summer님의 프로필 이미지

작성한 질문수

Javascript ES6+ 제대로 알아보기 - 초급

invoke

해결된 질문

작성

·

307

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

summer님의 프로필 이미지
summer
질문자

자세한 답변 정말 감사합니다!

summer님의 프로필 이미지

작성한 질문수

질문하기