标签:set type style desc ISE obj 参数 setter new
1、让属于语言内部的方法,写在Relect,整理。
2、让命令形式改为方法的形式,如dele obj.name(Reflect.deleteProperty(obj,name))、name in obj(Relect.has(obj,name))。
3、让返回合理些Object.defineProperty(obj, name, desc)
在无法定义属性时,会抛出一个错误,而Reflect.defineProperty(obj, name, desc)
则会返回false。
4、让Reflect跟proxy一一对应。
Reflect.set(obj,name,value,receiver) receiver可省略,一般用在setter函数中绑定this =>1
Reflect.get(obj,name,value,receiver)receiver可省略,一般用在getter函数中绑定this =>2 如果没有属性就返回undefined
Reflect.has(obj,name)对应 name in obj =>3 true false
Reflect.deleProperty(obj,name) 删除属性 dele obj.name =>4 如果删除成功,或者被删除的属性不存在,返回true,否则flase
Reflect.setPrototypeOf(obj,obj._pro_) =>5
Reflect.setPrototypeOf(obj) =>6
Reflect.getOwnPropertyDescriptor(obj, name) =>7
Reflect.defineProperty(obj, name, desc) =>8
Reflect.ownKeys(obj) 返回的是hasOwnProperty和symbol中属性 =>9
Reflect.isExtensiable(obj) 返回是否可扩展 true fales =>10
Reflect.preventExtension(obj)然obj不可扩展 =>11
Reflect.construct(obj,参数) 原来 new obj(参数) =>12
Reflect.apply
方法等同于Function.prototype.apply.call(func, thisArg, args)
,用于绑定this
对象后执行给定函数。
Reflect.getOwnPropertyDescriptor()
如果obj不是对象会报错的都会
标签:set type style desc ISE obj 参数 setter new
原文地址:https://www.cnblogs.com/smileguoge/p/13703050.html