Angular 为什么我在尝试声明局部变量时出错?

Angular 为什么我在尝试声明局部变量时出错?,angular,typescript,Angular,Typescript,我喜欢打字稿。 在组件中的函数中,我尝试声明一个局部变量“contains”: 但在这一行: contains : Boolean = this.selectedUpgrades.includes($event); 在布尔值上,我得到以下错误: Type 'boolean' is not assignable to type 'BooleanConstructor'. 为什么变量声明会出错?如果调用布尔构造函数,则会得到布尔类型: const somethingWeird

我喜欢打字稿。 在组件中的函数中,我尝试声明一个局部变量“contains”:

但在这一行:

 contains : Boolean = this.selectedUpgrades.includes($event);   
在布尔值上,我得到以下错误:

  Type 'boolean' is not assignable to type 'BooleanConstructor'.
  

为什么变量声明会出错?

如果调用布尔构造函数,则会得到
布尔类型:

const somethingWeird = new Boolean(Math.random() < 0.5);
或者,更好的是,完全省略类型注释,让TS自动推断:

const contains = this.selectedUpgrades.includes($event);
这通常更可取,因为这样可以减少样板文件和需要读取的代码

const contains : boolean = this.selectedUpgrades.includes($event);
const contains = this.selectedUpgrades.includes($event);