我按如下方式扩展Number类:
interface Number {
evolution(now: number, before: number): string;
}
Number.prototype.magnitude = function(d=1, suffix="") {
//…
}
我想提供默认参数。
但是当使用它时没有明确的参数ass:
label = "÷ " + show.magnitude();
我收到错误"提供的参数与签名"
不匹配答案 0 :(得分:0)
您需要告诉TypeScript编译器参数是optional:
在JavaScript中,每个参数都是可选的,用户可以根据需要将其保留为关闭状态。当他们这样做时,他们的价值是不确定的。我们可以通过添加一个?来在TypeScript中获得此功能。到参数的末尾,我们希望是可选的。
这是一个类似于你想要完成的例子:
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