是否可以在typescript中为接口函数提供默认参数?

是否可以在typescript中为接口函数提供默认参数?,typescript,interface,default-parameters,Typescript,Interface,Default Parameters,我将Number类扩展如下: interface Number { evolution(now: number, before: number): string; } Number.prototype.magnitude = function(d=1, suffix="") { //… } 我喜欢提供默认参数 但在没有显式参数的情况下使用时,ass如下所示: label = "÷ " + show.magnitude(); 我收到一个错误“提供的参数与签名不匹配”您需要告

我将Number类扩展如下:

interface Number {
    evolution(now: number, before: number): string;
}


Number.prototype.magnitude = function(d=1, suffix="") {
    //…
}
我喜欢提供默认参数

但在没有显式参数的情况下使用时,ass如下所示:

label = "÷ " + show.magnitude();

我收到一个错误“提供的参数与签名不匹配”

您需要告诉TypeScript编译器这些参数是:

在JavaScript中,每个参数都是可选的,用户可以根据自己的需要将其删除。当它们这样做时,它们的值是未定义的。我们可以通过添加一个?在参数末尾,我们希望是可选的

下面是一个与您想要完成的类似的示例:

interface ISum {
    (baz?: number, buz?: number): number;
}

let sum: ISum = (baz = 1, buz = 2) => {
    return baz + buz;
}

console.log(sum()); //Console: 3
console.log(sum(2)); //Console: 4
console.log(sum(2, 7)); //Console: 9
相关的: