【发布时间】:2020-10-16 20:41:27
【问题描述】:
我正在尝试理解this GitHub post,它描述了在本地扩展全局接口。
但是,由于帖子中的评论很少,我很难理解发生了什么。以下是我所指的帖子。
您可以在本地扩展全局接口
declare global { interface String { myMegaMethod(): void; } } 'hey'.myMegaMethod(); // works
如果我要使用以下模式来扩展像 String 这样的原生类型的功能,我会怎么做?
我是否只有一个名为 string.ts 的文件,其中包含我希望我的字符串可以访问 myMegaMethod 时导入的以下 sn-p?
declare global {
interface String {
myMegaMethod(): void;
}
}
【问题讨论】:
-
您需要修改
String.prototype以使该方法实际可用。全局接口只是为了让 TS 知道这个方法存在,它不会为你创建方法。
标签: typescript