TypeScript迁移:JavaScript样式const定义生成错误的最简单修复?

时间:2016-09-18 23:07:01

标签: typescript

我通过将.js文件重命名为.ts来尝试将适度大型项目从JavaScript迁移到TypeScript。这个项目很大,我从小例子开始。 JavaScript代码已经是类了,我选择了一个简单的类Token类,没有依赖关系。下面会显示一个简化版本,其底线使用tsc 1.8生成错误,说明"属性' INVALID_TYPE'在type()=>上不存在任何。"

function Token() {
    this.source = null;
    this.type = null; // token type of the token
    this.line = null; // line=1..n of the 1st character
    this.column = null; // beginning of the line at which it occurs, 0..n-1
    return this;
}

Token.INVALID_TYPE = 0;

我了解如何通过将function Token转换为class Token,我可以使INVALID_TYPE成为类Token的静态成员,但是这样可以跨近近10k行代码执行此操作变得相当复杂。我正在寻找更多增量方法。消除错误的一种更简单的方法是将最后一行更改为:

(<any>Token).INVALID_TYPE = 0;

是否有更好的快速修复方法可以暂时消除此类TypeScript错误消息?

1 个答案:

答案 0 :(得分:1)

快速解决方法是将函数声明重写为函数表达式(确保没有丢失的问题!)并将其转换为any类型,然后你可以添加任何道具想。

const Token = <any> function() {
  // ...
}