错误TS2356说数字类型变量必须是“数字”类型的算术操作数

时间:2018-11-08 04:08:43

标签: javascript typescript setinterval

这是我的类定义的样子:

timeLeft: Number;

constructor() { 
    this.timeLeft = 60;
  }

  start() {
    console.log(typeof(this.timeLeft)); // prints out 'number'

    setInterval(() => {

      this.timeLeft--; // error TS2356 occurs here
      console.log(this.timeLeft);

    }, 1000);
  }

  ngOnInit() {}

控制台:

  

错误TS2356:算术操作数必须为'any','number'或枚举类型。

1 个答案:

答案 0 :(得分:4)

如Phil在评论部分中所述,最好使用“数字”而不是“数字”。 “数字”指的是非原始盒装对象,几乎从未在JavaScript代码中正确使用。 请参阅:Do's and Don'ts