编译有效的javascript作为打字稿导致编译错误

时间:2018-02-05 15:00:06

标签: typescript

在.ts文件中重命名我的javascript文件并编译它们似乎并不像假设那么容易。我得到了很多类型错误,这让我感到不安,因为我期望类型脚本成为javascript的超集。

简单示例:

NULL

var initial = { alive: [], destroyed: [] }; if (modificationHelper.aliveCompare) { initial.aliveValues = []; }

原因是什么,我该怎么办?

1 个答案:

答案 0 :(得分:3)

Typescript将验证您的代码是否类型安全。虽然语义错误(关于类型兼容性或缺少属性等)不会阻止编译器发出javascript,但忽略它们通常不是一个好主意。

您需要投入时间来消除这些错误。在这种情况下,Typescript不允许使用未知在该对象上的属性。第一次赋值时会推断出对象的类型,因此您可以尝试这样做:

var initial = { alive: [], destroyed: [], aliveValues : undefined as any[] };
if (modificationHelper.aliveCompare) {
    initial.aliveValues = [];
}