Typescript 类型脚本作用域扩充对象

Typescript 类型脚本作用域扩充对象,typescript,Typescript,我想扩展创建“isEmpty”的对象方法 //打字/object.d.ts 宣布全球{ 接口对象{ isEmpty():布尔值; } } Object.prototype.isEmpty=函数(this:Object){ for(让我们输入此项){ if(this.hasOwnProperty(key)){ 返回false; } } 返回true; }; 然后我想在我的源代码中使用它: 让myEmptyDict={}; 让myFullDict={“键”:“值”}; console.log(my

我想扩展创建“isEmpty”的对象方法

//打字/object.d.ts
宣布全球{
接口对象{
isEmpty():布尔值;
}
}
Object.prototype.isEmpty=函数(this:Object){
for(让我们输入此项){
if(this.hasOwnProperty(key)){
返回false;
}
}
返回true;
};
然后我想在我的源代码中使用它:

让myEmptyDict={};
让myFullDict={“键”:“值”};
console.log(myEmptyDict.isEmpty());//真的
console.log(myFullDict.isEmpty());//假的
看起来isEmpty没有定义,我如何解决它?
我使用的是Typescript 3.6.2。

您所拥有的内容是正确的,只是添加了一点内容。这个和这个还有一些细节

export{};//确保这是一个模块
宣布全球{
接口对象{
isEmpty():布尔值;
}
}
Object.prototype.isEmpty=函数(this:Object){
for(让我们输入此项){
if(this.hasOwnProperty(key)){
返回false;
}
}
返回true;
};
让myEmptyDict={};
让myFullDict={key:“value”};
console.log(myEmptyDict.isEmpty());//真的
console.log(myFullDict.isEmpty());//假的

您所拥有的是正确的,只是稍微增加了一点。这个和这个还有一些细节

export{};//确保这是一个模块
宣布全球{
接口对象{
isEmpty():布尔值;
}
}
Object.prototype.isEmpty=函数(this:Object){
for(让我们输入此项){
if(this.hasOwnProperty(key)){
返回false;
}
}
返回true;
};
让myEmptyDict={};
让myFullDict={key:“value”};
console.log(myEmptyDict.isEmpty());//真的
console.log(myFullDict.isEmpty());//假的

我建议不要在生产中使用猴子补丁;尽管可以在TypeScription中“键入”,但我建议不要在生产中使用猴子补丁;尽管可以在typescriptSame中“键入”,但我得到:
未捕获的TypeError:myEmptyDict.isEmpty不是一个函数
。注意:我把它放在typings文件夹中,然后用在一个组件中。同样,我得到:
uncaughttypeerror:myEmptyDict.isEmpty不是一个函数
。注意:我把它放在打字文件夹中,然后用在一个组件中。