gpt4 book ai didi

javascript - Nodejs版本12在另一个方法中调用方法

转载 作者:行者123 更新时间:2023-12-02 21:00:07 26 4
gpt4 key购买 nike

嗨,我想在同一类的另一个方法中调用一个方法。

// authentication.js
var Usermgmt = require('./usermgmt');
class authentication extends Usermgmt {
#session = New Object();
constructor() {
super();
}
auth(username, password) {
console.log(value);
return true;
}
_setSession() {
this.#session.name = "Session Name";
this.test();
}
}
module.exports = authentication;
// usermgmt.js
class usermgmt {
constructor() {
}
test(){
console.log("test parent");
return "test";
}
}

module.exports = usermgmt;
// index.js
var authentication = require('authentication');
let auth = new authentication();
if(auth.auth(req.body.username, req.body.password)) {
console.log("all fine");
}

我收到错误 TypeError: Cannot read property '_B' of null

有什么办法可以避免这种情况吗?我还想调用父类中的函数。

另请参阅此示例 https://rfrn.org/~shu/2018/05/02/the-semantics-of-all-js-class-elements.html

class Ex22_Base {
#privateMethod() { return 42; }
}

class Ex22_Sub extends Ex22_Base {
#privateMethod() {
assertThrows(() => super.#privateMethod(), TypeError);
}

#privateMethodTwo() {
this.#privateMethod();
}

publicMethod() {
this.#privateMethodTwo();
}

constructor() {
this.#privateMethod();
}
}

这就是我想做的。但是 # 在我的类中不起作用,我得到 SyntaxError: Unexpected token '('

当我在同一个类的方法中调用方法时,我得到 TypeError: Cannot read property of null

最佳答案

看起来不错,您需要实例化 A 的新副本并调用该类的 A 方法。

class A {
constructor() {
}
_B(value) {
console.log(value);
}
A() {
this._B("test");
}
}


const a = new A()

a.A() // test

关于javascript - Nodejs版本12在另一个方法中调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61376443/

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