gpt4 book ai didi

javascript - 再次调用构造函数会抛出 Typerror : is not a constructor

转载 作者:行者123 更新时间:2023-12-01 01:30:02 25 4
gpt4 key购买 nike

我定义了一个类SchemaProvider:

class SchemaProvider  {
constructor(selectedOperation){
this.selectedOperation = selectedOperation
}
}

module.exports = SchemaProvider

我正在另一个类中创建该类的新实例:

let schemaGenerator = require('./SchemaProvider')

schemaGenerator = new schemaGenerator(selectedOperation)

调用一次 new schemaGenerator(selectedOperation) 可以正常工作,但第二次调用它会抛出 TypeError: schemaGenerator 不是构造函数。因此,每次新调用时,我都需要重新启动程序。

代码中需要修改什么?

最佳答案

这是因为您将 new schemaGenerator 创建的对象分配给本地 schemaGenerator 变量,从而使用对该新对象的引用覆盖对构造函数的引用:

    schemaGenerator = new schemaGenerator(selectedOperation)
// ^^^^^^^^^^^^^^^^^

这个新对象不是构造函数。只需对结果对象使用不同的变量名称即可。

    let obj1 = new schemaGenerator(selectedOperation);
// ^^^^^^^^^^
let obj2 = new schemaGenerator(selectedOperation);
// ^^^^^^^^^^

关于javascript - 再次调用构造函数会抛出 Typerror : is not a constructor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53361060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com