preventExtensions()

99 阅读1分钟

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()
    
  1. 返回值
    preventExtensions()必须返回布尔值,表示 target 是否已经不可扩展。返回非布尔值会被转型为布尔值。
  2. 拦截的操作
    Object.preventExtensions(proxy);
    Reflect.preventExtensions(proxy);
    
  3. 捕获器处理程序参数
    target: 目标对象
  4. 捕获器不变式
    如果 Object,isExtensible(proxy)是 false,则处理程序必须返回 true。