使用Typescript的原型字符串

时间:2016-10-04 22:52:37

标签: typescript

以下为Typescript 2.0.3中的JavaScript字符串的原型方法:

interface String {
    splice(start: number, delCount: number, newSubStr: string): string;
}

String.prototype.splice = function(idx: number, rem: number, str: string): string {
    return this.slice(0, idx) + str + this.slice(idx + Math.abs(rem));
};

抛出错误:

  

错误TS2339:属性' splice'类型'字符串'。

上不存在

尽管我的界面。它似乎在操场上很好用。我只是在该文件上运行tsc而没有选项。为什么这不起作用?

1 个答案:

答案 0 :(得分:3)

  

它似乎在操场上很好用。

这是因为您的文件中可能有import / export。修复:

declare global {
    interface String {
        splice(start: number, delCount: number, newSubStr: string): string;
    }
}

String.prototype.splice = function(idx: number, rem: number, str: string): string {
    return this.slice(0, idx) + str + this.slice(idx + Math.abs(rem));
};

更多

此处介绍:https://basarat.gitbooks.io/typescript/content/docs/types/lib.d.ts.html#modifying-native-types