js 对象访问器属性问题

想请问下 js 对象的命名访问器属性与通过 defineProperty 设置 getter 和 setter 函数的区别:


 a = {

    name: 'aaa',

    get myName() {

        return this.name

    }

}

a.myName //'aaa'

b = {

    name: 'bbb'

}

Object.defineProperty(b, 'myName', {

    get: function() {

        return this.name

    },

    set: function(newName) {

        this.name = newName

    }

})

b.myName //'bbb'


慕尼黑的夜晚无繁华
浏览 422回答 1
1回答

慕容森

但就get和set来说最终结果应该没啥区别,其他无非是defineProperty可以修改已定义过的属性的,而字面量形式只能重新定义。这两个写法都在mdn的getter示例里
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript