根据马丁,该语法可用于定义nodejs中的类:
class Person {
constructor() {
this.id = 'id_1';
}
set name(name) {
this._name = name;
}
get name() {
return this._name;
}
用法:
myPerson.name = "Saul"; // save the value in `_name` variable.
此惯例的轻微问题是呼叫JSON.stringify(myPerson)
将打印以下内容:
{
"_name": "Saul"
}
但是,如果我从设置器函数中删除下划线,并将其写入以下内容:
set name(name) {
this.name = name;
}
设置器功能将永远递归地自称。因此,是否没有办法使用此精美的getter-setter语法,并且仍然使用name
属性?我正在运行nodejs。
我在这里根本看不到问题。如果您值得注意,它可以按预期工作:
const saul = Object.assign(new Person, JSON.parse('{"_name": "Saul"}'));
console.log(saul.name);