ownKeys()
-
ownKeys() 捕获器会在 Object.keys()及类似的方法中被调用。对应的反射 API 方法为 Reflect.ownKeys()。
const myTarget = {}; const proxy = new Proxy(myTarget, { ownKeys(target) { console.log("ownKeys()"); return Reflect.ownKeys(...arguments); }, }); Object.keys(proxy); // ownKeys()
- 返回值
ownKeys()必须返回包含字符串或者符号的可枚举对象。 - 拦截的操作
Object.getOwnPropertyNames(proxy); Obkect.getOwnPropertySymbols(proxy); Object.keys(proxy); Reflect.ownKeys(proxy);
- 捕获器处理程序参数
target: 目标对象。 - 捕获器不变式
返回的可枚举对象必须包含 target 的所有不可配置的自有属性
如果 target 不可扩展,则返回可枚举对象必须准确地包含自有属性键。