当前位置 博文首页 > 纸飞机博客:Reflect

    纸飞机博客:Reflect

    作者:[db:作者] 时间:2021-09-11 16:44

    Reflect对象是—个全局的普通的对象。 Reflect的原型就是Object。Reflect是为操作对象而提供的新API。?

    主要作用有:

    1. 将Object对象的属千语言内 部的方法放到Reflect对象上。
    2. 将用老 Object方法报错的情况,改为返回false。
    3. 让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
    cs
    下一篇:没有了