angular2 typescript不编译,但在运行时工作

时间:2016-06-14 15:36:17

标签: typescript angular

我是Angular2打字稿的新手。有人可以告诉我为什么这在编译期间不起作用,但如果我在运行时更改它,它可以正常工作吗?

@Injectable()
export class PlayerService {
    history: String[] = [];

    addHistory(a: string) {
        this.history.push(a);
        return this.history;
    }
}

它给我的编译时错误是“错误TS2322:类型'String []'不能分配给'String'类型。   'String []'类型中缺少属性'charAt'。“

谢谢!

1 个答案:

答案 0 :(得分:0)

事实上,TypeScript应用程序有两个部分。编译一和执行一。

您需要回想一下,TypeScript是JavaScript的超集。您的代码可以在JavaScript方面有效,但与TypeScript无关(例如,因为类型检查)。默认情况下,即使出现错误,TypeScript也会发出JavaScript。

这就是这个例子......

有关详细信息,请参阅此问题: