TypeScript 中如何使用 getter 和 setter
在 TypeScript 中,你可以使用 get
和 set
关键字来定义属性的 getter 和 setter。这让你能够控制对象属性的访问方式。
下面是一个使用 TypeScript 中 getter 和 setter 的简单例子:
class Person {
private _name: string;
constructor(name: string) {
this._name = name;
}
get name(): string {
return this._name;
}
set name(value: string) {
if (value.length > 0) {
this._name = value;
} else {
throw new Error("Name cannot be empty");
}
}
}
let person = new Person("Alice");
console.log(person.name); // 输出: Alice
person.name = "Bob";
console.log(person.name); // 输出: Bob
try {
person.name = "";
} catch (error) {
console.error(error.message); // 输出: Name cannot be empty
}
在这个例子中,name
属性是私有的,只能通过 getter 访问,通过 setter 修改。如果尝试设置一个空字符串作为名字,setter 会抛出一个错误。这种做法可以保证 name
属性的一致性和数据的完整性。
评论已关闭