📅  最后修改于: 2023-12-03 15:02:25.594000             🧑  作者: Mango
在 JavaScript 中,Getter 和 Setter 是用来访问对象属性的两种特殊方法。Getter 方法用于获取属性值,Setter 方法用于设置属性值。通过使用 Getter 和 Setter,你可以控制对象属性的访问和修改。
Getter 方法是一个用于获取对象属性值的特殊方法。它只有一个名称,它与对象属性名称相同,并且在对象字面量中以 get 关键字表示。Getter 方法不需要任何参数,它只需要返回你想要访问的属性的值。
以下是一个简单示例:
const person = {
firstName: 'John',
lastName: 'Doe',
get fullName() {
return `${this.firstName} ${this.lastName}`;
}
};
console.log(person.fullName); // 'John Doe'
在这个示例中,fullName 属性没有实际的值,它只是一个 Getter 方法,它返回 firstName 和 lastName 属性的值。因此,当我们调用 fullName 时,实际上是调用 Getter 方法。
Setter 方法是用于设置对象属性值的特殊方法。Setter 方法也具有一个名称,它与对象属性名称相同,并且在对象字面量中以 set 关键字表示。Setter 方法接受一个参数,它将用于设置对象属性的新值。
以下是一个示例:
const person = {
firstName: 'John',
lastName: 'Doe',
set fullName(name) {
const [firstName, lastName] = name.split(' ');
this.firstName = firstName;
this.lastName = lastName;
}
};
person.fullName = 'Jane Doe';
console.log(person.firstName); // 'Jane'
console.log(person.lastName); // 'Doe'
在这个示例中,fullName 属性是一个 Setter 方法,它接受一个参数 name,并且根据空格将其拆分成 firstName 和 lastName。接下来,它通过将这些值设置为对象的属性值来修改对象的状态。因此,当我们设置 fullName 时,实际上是调用 Setter 方法。
总之,Getter 和 Setter 是 JavaScript 中非常有用的特殊方法,它们允许您根据需要动态地控制对象属性的访问和修改。