我们在使用 class
定一个类时,直接给类实例添加属性会报一个 TS 的错误:
class RegExpPiece {
constructor() {
this.email = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i;
}
}
比如上面,this.email
会报错:
💥 Property 'email' does not exist on type 'RegExpPiece'.
因此,我们需要加上类型定义:
class RegExpPiece {
email: RegExp; // 添加类型定义
constructor() {
this.email = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i;
}
}
这样就避免了报错。
Reference
[1] https://stackoverflow.com/questions/41315930/class-declaration-property-does-not-exist-on-type-in-typescript