Reflect物件是—個全域的普通的物件, Reflect的原型就是Object,Reflect是為操作物件而提供的新API,
主要作用有:
- 將Object物件的屬千語言內 部的方法放到Reflect物件上,
- 將用老 Object方法報錯的情況,改為回傳false,
- 讓Object操作變成函式行為,另外, Reflect與Proxy是相輔相成的,在Proxy上 有的方法,在Reflect就—定有,
Reflect物件—共有13個靜態方法,例如:
Reflect.get(target, name, receiver)
//讀取—個物件的屬性
let obj = {
name:"chen",
}
let result = Reflect.get(obj, "name")
console.log(result) //chen
Reflect.set(target, name ,value, receiver)
//設定該物件的屬性借
let obj = {
name: 'chen'
}
let result = Reflect.set(obj, "name", "shi")
console.log(result) //true
console.log(obj.name) //shi
Reflect. apply(target,thisArg,args)
//類似于Function.prototype.apply
//繼示目標物件的特定方法
Reflect.apply(Math.floor, undefined, [1.75]); //輸出: 1;
Reflect.defineProperty(target, name ,desc)
//類似Object.defineProperty
//回傳借是—個Boolean的值
const obj = {};
const res = Reflect.defineProperty(obj,'b', {
configurable: true,
enumerable: true
})
console.log(res);//true
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/299358.html
標籤:其他
上一篇:axios 網路請求封裝
