我是Angular2打字稿的新手。有人可以告诉我为什么这在编译期间不起作用,但如果我在运行时更改它,它可以正常工作吗?
@Injectable()
export class PlayerService {
history: String[] = [];
addHistory(a: string) {
this.history.push(a);
return this.history;
}
}
它给我的编译时错误是“错误TS2322:类型'String []'不能分配给'String'类型。 'String []'类型中缺少属性'charAt'。“
谢谢!
答案 0 :(得分:0)
事实上,TypeScript应用程序有两个部分。编译一和执行一。
您需要回想一下,TypeScript是JavaScript的超集。您的代码可以在JavaScript方面有效,但与TypeScript无关(例如,因为类型检查)。默认情况下,即使出现错误,TypeScript也会发出JavaScript。
这就是这个例子......
有关详细信息,请参阅此问题: