代码点读机 / TypeScript / set

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全部词条