目录
一、Reflect.get(data, key, receiver)
二、Reflect.set(data, key,value, receiver)
- Reflect是es6新增的api,与Proxy是相辅相成的,在Proxy上 有的方法,在Reflect就—定有。
- Reflect对象—共有13个静态方法
一、Reflect.get(data, key, receiver)
//读取—个对象的属性
let obj = {
name:"xxx",
}
let result = Reflect.get(obj, "name")
console.log(result) //xxx
二、Reflect.set(data, key,value, receiver)
//设置该对象的属性值
let obj = {
name: 'xxx'
}
let result = Reflect.set(obj, "name", "aa")
console.log(result) //true
console.log(obj.name) //aa
二、Reflect.has(obj, name)
- Reflect.has方法对应name in obj里面的in运算符。
- 如果Reflect.has()方法的第一个参数不是对象,会报错。
<script>
// Reflect.has(obj, name)
// Reflect.has方法对应name in obj里面的in运算符。
// 如果Reflect.has()方法的第一个参数不是对象,会报错。
let obj = {
name: '张三',
age: 18,
}
// 旧写法
console.log('age' in obj);//true
console.log('sex' in obj);//false
// 新写法
console.log(Reflect.has(obj, 'age'));//true
console.log(Reflect.has(obj, 'sex'));//false
</script>