我知道 JavaScript 中的 getter 和 setter 是如何工作的。我不明白的是,当我们使用普通函数可以获得相同的结果时,为什么我们需要它们?考虑以下代码:
var person = {
firstName: 'Jimmy',
lastName: 'Smith',
get fullName() {
return this.firstName + ' ' + this.lastName;
}
}
console.log(person.fullName); // Jimmy Smith
我们可以很容易地用一个函数替换 getter:
var person = {
firstName: 'Jimmy',
lastName: 'Smith',
fullName: function() {
return this.firstName + ' ' + this.lastName;
}
}
console.log(person.fullName()); // Jimmy Smith
我不明白写 getter 和 setter 的意义。