我是Angular2打字稿的新手。有人可以告诉我为什么在编译时不起作用,但是如果我在运行时更改它,就可以正常工作吗?
@Injectable()
export class PlayerService {
history: String[] = [];
addHistory(a: string) {
this.history.push(a);
return this.history;
}
}
它给我的编译时错误是“错误TS2322:类型'String []'无法分配给类型'String'。属性'charAt'在类型'String []'中丢失。”
谢谢!
实际上,TypeScript应用程序包含两个部分。编译一和执行一。
您需要回想一下TypeScript是JavaScript的超集。您的代码对于JavaScript可能有效,但对于TypeScript无效(例如,由于类型检查)。默认情况下,即使存在错误,TypeScript也会发出JavaScript。
就是这种情况...
有关更多详细信息,请参见此问题:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句