Typescript编译器省略了" non assignable"元组错误

时间:2016-11-27 07:03:26

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

拥有以下代码:

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

console.log(abc);

正如我所料,红色波浪线出现在' abc'下面,出现此错误:

  

[ts]输入' [数字,字符串]'不能分配类型' [string,   数]&#39 ;.          输入'数字'不能指定为' string'。

然而,它仍然将它编译成JS,如下所示:

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

我是否遗漏了一些编译器选项,或者它是一个错误?

1 个答案:

答案 0 :(得分:1)

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

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

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

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

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

tsc --noEmitOnError test.ts
如果遇到错误,

将禁止生成test.js文件。

相关问题