📅  最后修改于: 2023-12-03 15:28:09.022000             🧑  作者: Mango
访问器是一种能够帮助程序员处理属性的特殊函数,只有在面向 ECMAScript 5 及更高版本时才能使用。这些函数是一个对象的属性,它们分别被称为getter和setter。 getter函数负责获取属性的值,setter函数负责设置属性的值。
在 ECMAScript 5 及更高版本中,可以使用Object.defineProperty方法来定义访问器。这个方法需要三个参数:要定义访问器的对象、属性名和一个描述符对象。描述符对象可以包含以下属性:
下面是一个使用访问器的示例,在一个对象中定义了一个名为“name”的属性:
let person = {
firstName: 'John',
lastName: 'Doe',
get fullName() {
return this.firstName + ' ' + this.lastName;
},
set fullName(value) {
let nameParts = value.split(' ');
this.firstName = nameParts[0];
this.lastName = nameParts[1];
}
};
person.fullName = 'Jane Doe';
console.log(person.firstName); // 输出: "Jane"
console.log(person.lastName); // 输出: "Doe"
console.log(person.fullName); // 输出: "Jane Doe"
如上代码,get和set方法在定义完之后可通过访问fullName属性的方式来调用。这种方式类似于访问对象的其他属性。但需要注意的是,在使用访问器时,应该将属性名和get/set方法分别定义在同一个对象内。