인프런 커뮤니티 질문&답변
set() 트랩 준수사항에 대해서 질문입니다!
작성
·
198
0
// 프로퍼티 값 설정 불가
const target = {};
Object.defineProperty(target, "point", {
value: 500, writable: false
});
const handler = {
set(target, key, value, receiver) {
target[key] = value + 200;
}
};
const obj = new Proxy(target, handler);
console.log(obj.point = 100); // 100
console.log(obj.point); // 500
11분 10초 쯤 설명에서 console.log(obj.point = 100); 를 실행하면 값 그대로 100이 반환된다고 설명하셨는데 이 부분이 이해가지 않아서 여쭤보고 싶습니다!

한 번 엔진이 어떻게 돌아가는지 봐봤는데 value 값으로 100이 들어갔지만 왜 내부 메소드 [[Set]]이 실행됐는데 100이 반환됐는지 잘 이해가 가지 않네요ㅠㅠ set() 트랩이 호출되고 실행이 끝나면 value 값을 반환하는 건가요? 처음 set() 트랩 설명에서는 반환에서 처리 성공하면 true, 실패하면 false라고 나와있었거든요ㅠㅠ
퀴즈
`set()` 트랩은 언제 호출될까요?
속성을 접근할 때
속성을 설정(할당)할 때
속성 존재 여부를 확인할 때
속성을 삭제할 때
답변
답변을 기다리고 있는 질문이에요
첫번째 답변을 남겨보세요!




