gpt4 book ai didi

Typescript - 修改 lib.d.ts

转载 作者:搜寻专家 更新时间:2023-10-30 22:07:09 25 4
gpt4 key购买 nike

假设我想将以下原型(prototype)添加到 String 类。

String.prototype.beginsWith = function (string) {
return(this.indexOf(string) === 0);
};

我需要将 beginWith 添加到 lib.d.ts,否则它不会编译:

declare var String: {
new (value?: any): String;
(value?: any): string;
prototype: String;
fromCharCode(...codes: number[]): string;
//Here
}

文件已锁定,无法编辑。

我发布了我可以在调用之前声明 var String: any 但我可以将它内置吗?

最佳答案

您无需修改​​ lib.d.ts,而是先扩展 String 接口(interface),然后将新方法包含到您希望扩展的对象的原型(prototype)链中。

例如

interface String {
beginsWith(text: string): bool;
}

然后实现新的功能并添加到原型(prototype)链

String.prototype.beginsWith = function (text) {
return this.indexOf(text) === 0;
}

现在您将在调用代码中获得智能感知并按预期工作。

关于Typescript - 修改 lib.d.ts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14680029/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com