乐闻世界logo
搜索文章和话题

How to use get and set in typescript?

5 个月前提问
3 个月前修改
浏览次数52

1个答案

1

Typescript中的getset被称为访问器,它们是定义对象属性的特殊方法。get方法用于访问属性的值,而set方法用于设置属性的值。当你想要在读取或设置属性时加入额外逻辑时,这些方法特别有用。

下面是一个使用TypeScript中的getset访问器的示例:

typescript
class Person { private _firstName: string; private _lastName: string; constructor(firstName: string, lastName: string) { this._firstName = firstName; this._lastName = lastName; } // 使用get访问器来获取完整的名字 get fullName(): string { return `${this._firstName} ${this._lastName}`; } // 使用set访问器来设置姓氏,并执行一些额外的逻辑,比如校验 set lastName(name: string) { if (name.length > 0) { this._lastName = name; } else { console.error('Invalid last name'); } } } let person = new Person('John', 'Doe'); // 通过get访问器获取fullName console.log(person.fullName); // 输出:John Doe // 通过set访问器修改姓氏 person.lastName = 'Smith'; console.log(person.fullName); // 输出:John Smith // 尝试设置一个无效的姓氏 person.lastName = ''; // 输出:Invalid last name

在上面的例子中,我们定义了一个Person类,它有私有属性_firstName_lastName。我们为这个类定义了两个访问器:

  1. get fullName():这个get访问器允许我们获取一个人的全名,它通过将_firstName_lastName组合起来返回一个字符串。

  2. set lastName(name: string):这个set访问器允许我们设置一个人的姓氏。在设置姓氏之前,我们可以在这里加入验证逻辑,比如检查新姓氏是否为空,如果为空,则给出错误消息并拒绝更新。

通过使用getset访问器,我们可以封装对象的内部状态,同时提供一个简洁的API来访问和修改这些状态,也可以增加验证或其他必要的逻辑。

2024年6月29日 12:07 回复

你的答案