JavaScript Reflect 对象
- Reflect
- Reflect是一个内置的对象,它提供拦截 JavaScript 操作的方法。这些方法与proxy handlers的方法相同。Reflect不是一个函数对象,因此它是不可构造的。描述与大多数全局对象不同,Reflect不是一个构造函数。你不能将其与一个Math对象)。方法Reflect对象提供以下
- Reflect.get()
- Reflect.get()方法与从对象(target[propertyKey])中读取属性类似,但它是通过一个函数执行来操作的。语法Reflect.get(target, propertyKey[, receiver])参数target需要取值的目标对象propertyKey需要获取的值的键值rec
- Reflect.set()
- 静态方法Reflect.set()工作方式就像在一个对象上设置一个属性。语法Reflect.set(target, propertyKey, value[, receiver])参数target设置属性的目标对象。propertyKey设置的属性的名称。value设置的值。receiver如果遇到
- Reflect.apply()
- 静态方法Reflect.apply()通过指定的参数列表发起对目标(target)函数的调用。语法Reflect.apply(target, thisArgument, argumentsList)参数target目标函数。thisArgumenttarget函数调用时绑定的this对象。argum
- Reflect.has()
- 静态方法Reflect.has()作用与in操作符相同。句法Reflect.has(target, propertyKey)参数target目标对象.propertyKey属性名,需要检查目标对象是否存在此属性。返回值一个Boolean类型的对象指示是否存在此属性。异常如果目标对象并非TypeErr
- Reflect.isExtensible()
- 静态方法Reflect.isExtensible()判断一个对象是否可扩展(即是否能够添加新的属性)。与它Object.isExtensible()方法相似,但有一些不同,详情可见 differences。语法Reflect.isExtensible(target)参数target检查是否可扩展的目
- Reflect.preventExtensions()
- 静态方法Reflect.preventExtensions()方法阻止新属性添加到对象例如:防止将来对对象的扩展被添加到对象中)。该方法与Object.preventExtensions()相似,但有一些不同点。详情可见 differences。语法Reflect.preventExtensions
- Reflect.ownKeys()
- 静态方法Reflect.ownKeys()返回一个由目标对象自身的属性键组成的数组。语法Reflect.ownKeys(target)参数target获取自身属性键的目标对象。返回值由目标对象的自身属性键组成的Array。异常如果目标不是TypeError。描述Reflect.ownKeys方法返回
- Reflect.getOwnPropertyDescriptor()
- 静态方法Reflect.getOwnPropertyDescriptor()与undefined。语法Reflect.getOwnPropertyDescriptor(target, propertyKey)参数target需要寻找属性的目标对象。propertyKey获取自己的属性描述符的属性的名
- Reflect.getPrototypeOf()
- 静态方法Reflect.getPrototypeOf()与Object.getPrototypeOf()方法是一样的。都是返回指定对象的原型(即,内部的[[Prototype]]属性的值)。语法Reflect.getPrototypeOf(target)参数target获取原型的目标对象。返回值给定
- Reflect.setPrototypeOf()
- 静态方法Reflect.setPrototypeOf()与null。语法Reflect.setPrototypeOf(target, prototype)参数target设置原型的目标对象。prototype对象的新原型(一个对象或null)。返回值返回一个Boolean值表明是否原型已经成功设置。
- Reflect.construct()
- Reflect.construct()方法的行为有点像new操作符构造函数,相当于运行new target(...args).语法Reflect.construct(target, argumentsList[, newTarget])参数target被运行的目标构造函数argumentsList类