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。
这是这里的情况...
详情请参阅此问题:
我想你指的超集! – dafyddPrys
你能告诉我究竟是抛出错误吗?我是否错误地声明了字符串数组? – yoog
你在哪一行有错误? –