高阶指南之 Reflect
Reflect是一个内置的对象,它提供拦截 JavaScript 操作的方法。这些方法与proxy handlers的方法相同。不是一个函数对象,因此它是不可构造的。
描述
与大多数全局对象不同并非一个构造函数,所以不能通过new 运算符对其进行调用,或者将对象作为一个函数来调用。的所有属性和方法都是静态的(就像对象)。
对象提供了以下静态方法,这些方法与proxy handler methods的命名相同.
其中的一些方法与 相同, 尽管二者之间存在 某些细微上的差别 .
静态方法
对一个函数进行调用操作,同时可以传入一个数组作为调用参数。和 功能类似。
对构造函数进行 操作,相当于执行 。
和 类似。如果设置成功就会返回
作为函数的操作符,相当于执行 。
获取对象身上某个属性的值,类似于
类似于 。如果对象中存在该属性,则返回对应的属性描述符, 否则返回 .
类似于 。
判断一个对象是否存在某个属性,和 运算符 的功能完全相同。
类似于 .
返回一个包含所有自身属性(不包含继承属性)的数组。(类似于 , 但不会受).
类似于 。返回一个。
将值分配给属性的函数。返回一个,如果更新成功,则返回。
设置对象原型的函数. 返回一个 , 如果更新成功,则返回
实际例子
检测一个对象是否存在特定属性
返回这个对象自身的属性
为这个对象添加一个新的属性
领取专属 10元无门槛券
私享最新 技术干货