gpt4 book ai didi

javascript - 类中的 JS getter 和 setter?

转载 作者:数据小太阳 更新时间:2023-10-29 03:50:41 26 4
gpt4 key购买 nike

我想在 JS 中创建一个使用 native getter 和 setter 的类。我知道我可以为对象创建 getter/setter,如下所示:

var obj = {
get value(){
return this._value;
},
set value(val){
this._value = val;
}
}

我也知道我可以在类/函数中使用 this.__defineGetter__,但 MDN 表示不鼓励使用 __defineGetter__() 等。

有没有比以下方法更好的向 js 类添加 getter 和 setter 的方法:

function class(){
};

class.prototype = {
get value(){
//....

}

?

最佳答案

2019:ES6 万岁!

class Person {

get name() {
return this._name + '!!!'
}

set name(newValue) {
this._name = newValue
}

constructor(name) {
this._name = name
}
}

const me = new Person('Zach')
console.log(me.name) // Zach!!!

me.name = 'Jacob'
console.log(me.name) // Jacob!!!

// Of course, _name is not actually private.
console.log(me._name) // Jacob

关于javascript - 类中的 JS getter 和 setter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21564885/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com