当前位置:  开发笔记 > 编程语言 > 正文

使用typescript定义原型函数

如何解决《使用typescript定义原型函数》经验,为你挑选了1个好方法。

当我尝试定义原型函数时,我得到:

错误TS2339:属性'applyParams'在'Function'类型中不存在.

Function.prototype.applyParams = (params: any) => {
     this.apply(this, params);
}

如何解决这个错误?



1> David Sherre..:

Function.d.ts文件中指定的接口上定义方法.这将导致它声明与全局Function类型合并:

interface Function {
    applyParams(params: any): void;
}

并且您不希望使用箭头函数,因此this不会绑定到外部上下文.使用常规函数表达式:

Function.prototype.applyParams = function(params: any) {
    this.apply(this, params);
};

现在这将工作:

const myFunction = function () { console.log(arguments); };
myFunction.applyParams([1, 2, 3]);

function myOtherFunction() {
    console.log(arguments);
}
myOtherFunction.applyParams([1, 2, 3]);

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有