ES6 Reflect的基本使用

//1.将Object对象的一些属于语言自身的方法,放到Reflect对象上。(代码重构)
        //Object.defineProperty() =>Reflect.defineProperty()

        //2、修改了某些Object方法的返回结果,让其变得更加合理
        //Reflect.defineProperty() true/false

        //3、让Object操作都变成函数行为。
        // name in Obj / delete obj name 命令式
        // Reflect.has(obj,name)/ Reflect.deleteProperty(obj,name) 函数式

        //4、Reflect对象的方法和Proxy对象的方法一一对应,
        //可以让Proxy方便的调用对应的Reflect的方法
        let p = {
            name: "令狐狐冲",
            age: 18,
            __skill__: "独孤九剑"
        }

        console.log(Reflect.get(p,"name"))

        Reflect.set(p,"name","令狐冲")
        console.log(p)

        console.log(Reflect.has(p,"name_"))
posted @ 2021-02-25 22:53  abcdefgab  阅读(66)  评论(0)    收藏  举报