angular2打字稿没有编制,但在运行时的工作原理(angular2 typescript not

2019-09-29 17:28发布

我是新来Angular2打字稿。 谁能告诉我,为什么这并不在编译期间工作,但如果我在运行时改变它,它工作正常?

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

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

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

谢谢!

Answer 1:

事实上,有两个部分打字稿应用。 编译一个和执行一个。

你需要记得,打字稿是JavaScript的一个超集。 你的代码可以是有效的JavaScript方面而不是关于打字稿(例如,由于类型检查的)。 默认情况下,打字稿甚至会在错误的情况下发出的JavaScript。

这是这里的情况...

详情请参见这个问题:

  • 没有d.ts文件没有编译错误


文章来源: angular2 typescript not compiling, but works during runtime