JavaScript-super()关键字未被接受



我遇到了一个小问题,我希望有人能帮我快速解决这个问题。这是我的代码:

class Client {
/**
* @param {ClientOptions} [options] Options for the client
*/
constructor(options = {}) {
super();
this.lnk = "https://marketpala.glitch.me";
this.endpoints = [
"/commandes.json",
"/users.json",
"/blacklist.json",
"/infov.json",
"/reserved.json"
]
}
}

以下是导出客户端的代码:

module.exports = {
Client: require('./client/Client')
}

这是我用来测试我的客户端的代码:

const tst = require('./palamazon')
let t = new tst.Client()

这是我得到的错误:

super();
^^^^^
SyntaxError: 'super' keyword unexpected here

希望有人能帮助我!

(我用javascript编码(

Super关键字在继承类中使用,以在子类中使用它们的属性。您的类没有从任何其他类扩展而来,因此不接受super

通过调用构造函数方法中的super((方法,我们调用父级的构造函数方法,并获取对父级属性的访问权限和方法:

如果您的类没有从任何其他类扩展,则必须删除super方法。

请在此处查看一些详细信息。

由于没有扩展任何类,因此不需要super,因此super调用父类构造函数,但在这种情况下,该类没有父类。

super()用于在从另一个类扩展一个类时调用父类上的原始方法,如

class MyFirstTestClass {
constructor() {
console.log("Hello");
}
}
class MySecondTestClass extends MyFirstTestClass {
constructor() {
super();
console.log("World");
}
}
const test = new MySecondTestClass();

这将输出Hello,然后输出World。在不调用super()的情况下,只输出World,因为第二个类上的构造函数将覆盖第一个类的构造函数。

您编写的类不是从另一个类扩展而来的,因此super()没有可调用的父类。

您应该能够通过从另一个类继承来解决问题(如果这是您的意图(,或者通过简单地删除调用super()的行来解决问题。

最新更新