TypeScript应当出现“期望获得1个参数,但未传递任何参数”的错误信息,但实际却没有。
type PolyElement = [number, number];
export interface Node {
element: PolyElement | null;
next: Node | null;
}
export class Node {
constructor(element?: PolyElement) {
this.element = element ?? null;
this.next = null;
}
add(...args: PolyElement[]) {
for (let i = 0; i < args.length; ++i) {
//some code
}
}
}
然后我这样调用方法:
poly1.add([1,2,3]);
它的输出结果是:[number, number, number]
类型的参数不能赋值给PolyElement
类型的参数。属性length
的类型不兼容,3
不能被赋值给2
。ts(2345)
另外:
poly1.add([]);
输出: 类型 '[]' 的参数不能赋值给类型 'PolyElement' 的参数。类型 '[]' 缺少类型 '[number,number]' 的以下属性:0, 1ts(2345)
等。
问题是为什么:
poly1.add();
不会输出类似于:期望至少有1个参数,但实际却没有。
吗?
poly1.add();
。 - pusiadestroyer42