typescript支持使用get
和set
在访问这个变量时对其进行拦截.这使你可以更细利度的控制你的程序.
只有当口令正确的用户才可以修改用户名:
var passcode = "secret passcode";
class Employee {
private _fullName: string;
public get fullName(): string {
return this._fullName;
}
public set fullName(newName: string) {
if (passcode && passcode == "secret passcode") {
this._fullName = newName;
}
else {
alert("Error: Unauthorized update of employee!");
}
}
}
var employee = new Employee();
employee.fullName = "Bob Smith";
if (employee.fullName) {
console.log(employee.fullName);
}
如get
,set
前不加修饰符时默认是public类型的.但是我觉得加上后看起来更规整,
并且TypeScript要求修饰符要一致,即get
,set
前要不都不加,或都加public
修饰,或都为protected
修饰.