preventExtensions()
- preventExtensions()捕获器会在 Object.preventExtensions()中被调用。对应的反射 API 方法为 Reflect.preventExtensions()
const target = {}; const proxy = new Proxy(target, { preventExtensions(target) { console.log("preventExtensions()"); return Reflect.preventExtensions(...arguments); }, }); Object.preventExtensions(proxy); // preventExtensions()
- 返回值
preventExtensions()必须返回布尔值,表示 target 是否已经不可扩展。返回非布尔值会被转型为布尔值。 - 拦截的操作
Object.preventExtensions(proxy); Reflect.preventExtensions(proxy); - 捕获器处理程序参数
target: 目标对象 - 捕获器不变式
如果 Object,isExtensible(proxy)是 false,则处理程序必须返回 true。