angular2打字稿不编译,但在运行时工作

问题描述:

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

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

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

它给我的编译时错误是“错误TS2322:类型‘的String []’是不能分配给输入‘字符串’ 物业‘的charAt’缺失型‘的String []’。”

谢谢!

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

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

这是这里的情况...

详情请参阅此问题:

+1

我想你指的超集! – dafyddPrys

+0

你能告诉我究竟是抛出错误吗?我是否错误地声明了字符串数组? – yoog

+0

你在哪一行有错误? –