js中 get 和set用法
时间: 2024-02-21 19:58:53 浏览: 19
`get` 和 `set` 是 JavaScript 中用于定义对象属性的特殊方法。
`get` 方法用于获取对象属性的值,`set` 方法用于设置对象属性的值。当我们访问对象属性时,实际上是调用了该属性对应的 `get` 方法;当我们设置对象属性时,实际上是调用了该属性对应的 `set` 方法。
下面是一个示例:
```javascript
const person = {
firstName: 'John',
lastName: 'Doe',
get fullName() {
return `${this.firstName} ${this.lastName}`;
},
set fullName(value) {
const parts = value.split(' ');
this.firstName = parts[0];
this.lastName = parts[1];
}
};
console.log(person.fullName); // "John Doe"
person.fullName = 'Jane Smith';
console.log(person.firstName); // "Jane"
console.log(person.lastName); // "Smith"
console.log(person.fullName); // "Jane Smith"
```
在这个示例中,我们定义了一个 `person` 对象,它有两个属性 `firstName` 和 `lastName`,以及一个计算属性 `fullName`,它是由 `get` 和 `set` 方法定义的。当我们访问 `person.fullName` 时,实际上是调用了 `get fullName` 方法,它返回 `firstName` 和 `lastName` 的拼接结果。当我们设置 `person.fullName` 时,实际上是调用了 `set fullName` 方法,它将 `value` 参数拆分为 `firstName` 和 `lastName`,并分别赋值给 `person` 对象的属性。