在 TypeScript 中,错误 TS2554 表示您在调用一个构造函数时传递了不正确数量的参数。具体来说,错误信息“应为 0 个参数,但构造函数为 1”意味着您尝试使用一个需要 0 个参数的构造函数,但您传递了 1 个参数。
要解决这个问题,您需要检查以下几个方面:
class MyClass { constructor() { // 不接受参数 } }
const myInstance = new MyClass(); // 正确 // const myInstance = new MyClass(1); // 错误,传递了一个参数
class Parent {
constructor(param: number) {
// 需要一个参数
}
}
class Child extends Parent {
constructor() {
super(); // 错误,父类需要一个参数
}
}
在这种情况下,您需要在子类的构造函数中传递参数给父类的构造函数:
class Child extends Parent { constructor() { super(0); // 正确,传递一个参数 } }
假设您有以下代码:
class MyClass {
constructor() {
console.log("MyClass instantiated");
}
}
const instance = new MyClass(1); // TS2554: Expected 0 arguments, but got 1.
要修复此错误,您应该将实例化代码更改为:
const instance = new MyClass(); // 正确
领取专属 10元无门槛券
手把手带您无忧上云