Một Proxy bọc một object và cho phép bạn chặn (intercept) các thao tác cơ bản trên nó (get, set, has, delete, v.v.) qua các hàm handler gọi là trap. Reflect cung cấp các phiên bản mặc định của các thao tác đó dưới dạng hàm, để các trap có thể chuyển tiếp về hành vi bình thường một cách gọn gàng.
js
user = { : };
proxied = (user, {
() {
.();
.(target, key);
},
() {
(key === && value < ) ();
.(target, key, value);
},
});
proxied.;
proxied. = -;
