鍍金池/ 問(wèn)答/HTML/ js 對(duì)象訪問(wèn)器屬性問(wèn)題

js 對(duì)象訪問(wèn)器屬性問(wèn)題

想請(qǐng)問(wèn)下 js 對(duì)象的命名訪問(wèn)器屬性與通過(guò) defineProperty 設(shè)置 getter 和 setter 函數(shù)的區(qū)別:

 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'
回答
編輯回答
未命名

但就get和set來(lái)說(shuō)最終結(jié)果應(yīng)該沒(méi)啥區(qū)別,其他無(wú)非是defineProperty可以修改已定義過(guò)的屬性的,而字面量形式只能重新定義。
這兩個(gè)寫法都在mdn的getter示例

2017年6月28日 08:04