我有这样的功能:

  private myFunc = (myNumber: number) => {
    if (myNumber === 1) {
        console.log('here');
    }
  }


在myNumber为1的地方,我没有控制台输出。通过查看控制台,我可以看到myNumber被视为其他类型(字符串)。像这样更改代码即可:

  private myFunc = (myNumber: number) => {
    if (myNumber == 1) {
        console.log('here');
    }
  }


在这种情况下,我的印象是Typescript会发出“编译”错误,但事实并非如此。谁能告诉我为什么?

最佳答案

是的,如果执行以下操作,Typescript将显示编译时错误:

 myFunc("1");


但是,就像您在运行时调用它一样,Typescript无法对其进行检查。

关于javascript - typescript 值检查,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54987320/

10-11 23:59