-
Reflect.apply(target, thisArg, args) // target 方法里this 指向 thisArg,args 参数数组
-
Reflect.construct(target, args) // target 构造函数 atgs 参数 = new trage(...args)
-
Reflect.get(target, name, receiver) // Reflect.get 方法查找并返回 target 对象的 name 属性,如果没有该属性,则返回 undefined,如果
name
属性部署了读取函数(getter),则读取函数的this
绑定receiver
-
Reflect.set(target, name, value, receiver) // Reflect.set 方法查找并返回 target 对象的 name 属性,如果没有该属性,则返回 undefined,如果
name
属性部署了读取函数(getter),则读取函数的this
绑定receiver
-
Reflect.defineProperty(target, name, desc) // const obj = {}
//数据描述符
Object.defineProperty(obj, "a", {
value : 1,//可选,默认undefined ,可以是任何数据类型
writable : false,//可选,默认false,该属性的value是否能被赋值运算符改变
configurable : true,//可选,默认为false 该属性描述符是否可配置
enumerable : false//可选,默认false 该属性是否在被遍历时显示
})
-
Reflect.deleteProperty(target, name) //
Reflect.deleteProperty
方法等同于delete obj[name]
,用于删除对象的属性 -
Reflect.has(target, name) //
Reflect.has
方法对应name in obj
里面的in
运算符 -
Reflect.ownKeys(target) //
Reflect.ownKeys
方法用于返回对象的所有属性,基本等同于Object.getOwnPropertyNames
与Object.getOwnPropertySymbols
之和 -
Reflect.isExtensible(target) // 方法对应
Object.isExtensible
,返回一个布尔值,表示当前对象是否可扩展。 -
Reflect.preventExtensions(target) // 用于让一个对象变为不可扩展。它返回一个布尔值,表示是否操作成功。
-
Reflect.getOwnPropertyDescriptor(target, name) // 用于得到指定属性的描述对象,将来会替代掉后者
-
Reflect.getPrototypeOf(target) // 方法用于读取对象的
__proto__
属性,对应 -
Reflect.setPrototypeOf(target, prototype) // 方法用于设置目标对象的原型(prototype)