【问题标题】:Typescript compiler omits a "non assignable" error for tuplesTypescript 编译器省略了元组的“不可分配”错误
【发布时间】:2017-04-11 03:04:34
【问题描述】:

有以下代码:

var abc: [string, number] = [5, "test"];

console.log(abc);

正如我所料,红色波浪线出现在“abc”下,出现以下错误:

[ts] 类型 '[number, string]' 不可分配给类型 '[string, 数字]'。 类型“数字”不可分配给类型“字符串”。

但是,它仍然像这样编译成 JS:

var abc = [5, "test"];
console.log(abc);

我错过了一些编译器选项,还是一个错误?

【问题讨论】:

    标签: typescript tuples visual-studio-code typescript-typings


    【解决方案1】:

    这是标准的 TypeScript 行为。对于大多数类型的错误,TypeScript 编译器仍会生成一个 JavaScript 文件。 (它确实返回一个非零退出代码,构建脚本可以检测并采取行动。)

    尝试一些其他类型的错误,例如输入错误的变量名:

    var abc: number = 5;
    console.log(abd);
    

    你会看到同样的事情发生。

    编辑:哦,还有一个编译器标志来改变这种行为。使用:

    tsc --noEmitOnError test.ts
    

    如果遇到错误,将禁止生成 test.js 文件。

    【讨论】:

      猜你喜欢
      • 2016-10-22
      • 1970-01-01
      • 2019-04-24
      • 2020-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-20
      相关资源
      最近更新 更多