1
假设我想扩大String.prototype,所以我有这个在内线/ string.ts例如:如何添加文件与打字稿延伸原型
interface String {
contains(sub: string): boolean;
}
String.prototype.contains = function (sub:string):boolean {
if (sub === "") {
return false;
}
return (this.indexOf(sub) !== -1);
};
当我做import * as string from 'ext/string.ts'
它失败,此错误:
error TS2306: File 'ext/string.ts' is not a module
这是假设的行为,我没有写出口。 但是,我如何告诉打字稿,我想扩展String.prototype呢?
老实说,你应该真的考虑不扩展这样的内置类型。当一些未来的ES版本出现它自己的'contains'本地实现时,你的代码将覆盖它并且可能比本地代码慢。请参阅http://stackoverflow.com/q/14034180/215552。 –
那么,当这个本地实现出来时,我将删除我的导入。 – truedrog