Reflect
什么是反射
Reflect 设计目的
try {
Object.defineProperty({}, "name", { value: "coderlzw", writable: trujavase, enumerable: true, configurable: true });
// success
} catch (error) {
// failure
}if (Reflect.defineProperty({}, "name", { value: "coderlzw", writable: true, enumerable: true, configurable: true })) {
// success
} else {
// failure
}const peron = { name: "coderlzw", age: 20 };
const result = 'name' in peron
console.log(result); // 输出: trueconst peron = { name: "coderlzw", age: 20 };
const result = Reflect.has(perons, "name");
console.log(result); // 输出: true静态方法
Reflect.apply(target, thisArg, args)
Reflect.construct(target, args)
Reflect.get(target, name, receiver)
Reflect.set(target, name, value, receiver)
Reflect.defineProperty(target, name, desc)
Reflect.deleteProperty(target, name)
Reflect.has(target, name)
Reflect.ownKeys(target)
Reflect.isExtensible(target)
Reflect.preventExtensions(target)
Reflect.getOwnPropertyDescriptor(target, name)
Reflect.getPrototypeOf(target)
Reflect.setPrototypeOf(target, prototype)
最后更新于