以下为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
而没有选项。为什么这不起作用?
答案 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