set TypeScript · 类型关键字
存取器的写口:set 属性名(值) 在外面给属性赋值时自动执行,可以在里面做校验,常和 get 成对出现。
怎么用
set 属性名(值) { this.内部 = 值; }
小例子
class 密码箱 {
private _密码 = "000";
set 密码(值: string) {
if (值.length < 4) throw new Error("太短");
this._密码 = 值;
}
get 密码() { return this._密码; }
}
const 箱 = new 密码箱();
箱.密码 = "1234";
console.log(箱.密码);
运行结果
1234
提醒:赋值语句 箱.密码 = "1234" 背后跑的其实是 set 方法,太短的密码直接抛错;注意 set.add(x) 这类是对象自己的方法,不是访问器
官方文档:https://www.typescriptlang.org/docs/handbook/2/classes.html#getters--setters
在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← TypeScript全部词条