ts get和set使用
时间: 2024-05-12 20:15:46 浏览: 15
在 TypeScript 中,get 和 set 是用来创建 getter 和 setter 方法的关键字,它们允许我们在访问对象的属性时执行一些自定义的操作。
使用 get 和 set 关键字时,需要注意以下几点:
1. get 和 set 必须配对使用,且它们必须使用相同的名称。
2. get 和 set 方法的名称必须与对象属性的名称相同。
3. get 和 set 方法不能同时存在于一个属性中。
4. get 和 set 方法必须返回一个值。
下面是一个使用 get 和 set 的示例:
```typescript
class Person {
private _age: number;
get age(): number {
return this._age;
}
set age(value: number) {
if (value < 0) {
console.log("年龄不能为负数");
} else {
this._age = value;
}
}
}
let person = new Person();
person.age = -1; // 输出 "年龄不能为负数"
person.age = 20;
console.log(person.age); // 输出 20
```
在上面的代码中,我们定义了一个名为 `Person` 的类,它有一个私有属性 `_age`,并且定义了一个名为 `age` 的 get 和 set 方法。当我们给 `age` 赋值时,会先执行 set 方法,并进行一些自定义的操作(在这里是判断年龄是否为负数),然后再将值赋给私有属性 `_age`。当我们获取 `age` 的值时,会执行 get 方法,并返回私有属性 `_age` 的值。
通过使用 get 和 set,我们可以在对象的属性上添加一些自定义的操作,从而使代码更加灵活和易于维护。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)