Vue 07 - Object.defineProperty介绍

轻松理解 

字面意思Object.defineProperty是定义一个属性。在定义对象的时候,我们不仅可以把属性直接放在对象内,也可以通过defineProperty去添加。

关键字介绍:

  value    要添加属性的值
enumerable
控制属性是否可以枚举,默认值是false
writable
控制属性是否能被修改,默认值是false
configurable
控制属性是否能被删除,默认是false

传统添加对象属性的方法:

    let person = {
        name:'张三',
        sex:'男'
    }

通过defineProperty去添加属性的方法。

    Object.defineProperty(person, 'age', {
        value:number,
        enumerable:true, //控制属性是否可以美剧,默认值是false
        writable:true, //控制属性是否能被修改,默认值是false
        })

getter和setter介绍

通过defineProperty去添加属性的时候,也可以更加灵活的用getter和setter的方法去读取和修改。

这样在浏览器的控制台可以通过get和set的方法去操作数据。

        get(){
            console.log('有人读取age属性了')
            return number
        },
        //
        set(value){
            console.log('有人修改了age的属性值,且值是')
            number = value
        }

Vue 07 - Object.defineProperty介绍_第1张图片

 全部代码如下




    
    数据代理
    




你可能感兴趣的:(js,vue.js,javascript,前端)