【问题标题】:angular2 typescript not compiling, but works during runtimeangular2 typescript 未编译,但在运行时有效
【发布时间】:2016-06-14 23:52:38
【问题描述】:

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

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

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

它给我的编译时错误是“错误 TS2322:类型 'String[]' 不可分配给类型 'String'。 'String[]' 类型中缺少属性 'charAt'。"

谢谢!

【问题讨论】:

    标签: typescript angular


    【解决方案1】:

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

    您需要记住 TypeScript 是 JavaScript 的超集。您的代码对于 JavaScript 可能有效,但对于 TypeScript 无效(例如,因为类型检查)。默认情况下,即使存在错误,TypeScript 也会发出 JavaScript。

    这里就是这样......

    查看这个问题了解更多详情:

    【讨论】:

    • 我认为你的意思是超集!
    • 你能告诉我到底是什么引发了错误吗?我是否错误地声明了字符串数组?
    猜你喜欢
    • 2018-04-10
    • 2019-06-11
    • 2017-02-12
    • 2013-03-04
    • 1970-01-01
    • 2017-07-06
    • 2014-01-24
    • 2012-12-04
    • 2020-01-19
    相关资源
    最近更新 更多