标签:target bsp sarg 基础 pre func name des col
Reflect对象是ES6出现的新的API,用于操作对象内部的方法。
特点:
1. 对于操作有明确的返回结果。如返回布尔值表示操作成功与否
2. 和Proxy的拦截方法一一对应,实现操作的默认行为
3.将in,delete,new等命令,用方法实现
4.该对象的方法将逐渐取代Object上的方法
和Proxy的拦截方法一一对应,一共有13个方法;
所有方法的第一个参数都必须是对象。否则报错。
返回布尔值的方法有:
target[propKey] = value; // 操作是否成功
如果传入receiver,则this指向receiver
propKey in target
delete target[propKey] // 操作是否成功
target.__proto__ = proto; // 操作是否成功
Object.defineProperty(target, propKey, propDescriptor)//操作是否成功
Object.isExtensible(target)
Object.preventExtensions(target)// 返回操作是否成功
返回非布尔值的方法有:
target[propKey]
1.如果方法中传入了receiver参数,那么,如果getter方法中有this,this指向receiver
2.如果不存在,返回undefined
new Target(...args)
target.__proto__
Function.prototype.apply.call(target, thisArg, args);
Object.getOwnPropertyDescriptor(target, propKey)
Object.getOwnPropertyNames(target) +
Object.getOwnPropertySymbols(target)
标签:target bsp sarg 基础 pre func name des col
原文地址:https://www.cnblogs.com/lyraLee/p/11774842.html