◆
JavaScript Reflect 反射对象方法详解
Reflect 出现的作用是什么
- 将
Object对象的一些明显属于语言内部的方法(比如Object.defineProperty),放到Reflect对象上 - 修改某些
Object方法的返回结果,让其变得更合理。比如,Object.defineProperty(obj, name, desc)在无法定义属性时,会抛出一个错误,而Reflect.defineProperty(obj, name, desc)则会返回false - 让
Object操作都变成函数行为。某些Object操作是命令式,比如name in obj和delete obj[name],而Reflect.has(obj, name)和Reflect.deleteProperty(obj, name)让它们变成了函数行为
Reflect.get(target, name, receiver)
Reflect.get 方法查找并返回 target 对象的 name 属性,如果没有该属性,则返回 undefined。
var myObject = {
foo: 1,
bar: 2,
get baz() {
return this.foo + this.bar;
},
name: 'wfly',
};
console.log(Reflect.get(myObject, 'foo')); // 1
console.log(Reflect.get(myObject, 'bar')); // 2
console.log(Reflect.get(myObject, 'baz')); // 3
console.log(Reflect.get(myObject, 'name')); // wfly
console.log(Reflect.get(myObject, 'age')); // undefined

还没有留言,来发表第一条吧~