패스잇
프론트엔드 개발 · 심화

JavaScript의 Proxy와 Reflect의 용도와 사용법에 대해 설명해주세요.

힌트 · 객체 동작 가로채기와 Vue.js의 반응성 시스템을 생각해보세요.

메타 프로그래밍객체 프록시트랩(Trap)기본 동작 제어Reflect API

모범답안

Proxy와 Reflect는 JavaScript에서 메타 프로그래밍을 가능하게 해주는 도구입니다.

Proxy는 객체의 기본적인 동작(속성 접근, 할당, 삭제 등)을 가로채고 제어할 수 있게 해줍니다. 마치 객체에 대한 '대리인' 역할을 하는 것이죠. Proxy를 사용하면 객체에 접근하거나 수정할 때 특정 로직을 실행할 수 있습니다. 예를 들어, 속성 접근 시 로그를 남기거나, 특정 속성에 대한 접근을 막는 등의 작업을 할 수 있습니다.

Reflect는 객체의 기본적인 동작을 수행하는 메서드들을 제공합니다. Proxy의 트랩(Trap) 내에서 원래 객체의 동작을 수행해야 할 때 Reflect API를 사용합니다. Reflect를 사용하면 객체의 기본 동작을 보다 안전하고 명확하게 제어할 수 있습니다.

Vue.js의 반응성 시스템도 Proxy를 활용하여 데이터 변경을 감지하고 UI를 업데이트합니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 JavaScript 면접 질문

← JavaScript 면접 질문 전체 보기