gpt4 book ai didi

javascript - 从构造函数调用类方法

转载 作者:可可西里 更新时间:2023-11-01 01:29:26 25 4
gpt4 key购买 nike

从其构造函数调用类方法时出现错误。是否可以从构造函数中调用方法?我尝试从派生类的构造函数调用基类方法,但仍然出现错误。

'use strict';

class Base {
constructor() {
this.val = 10;
init();
}

init() {
console.log('this.val = ' + this.val);
}
};

class Derived extends Base {
constructor() {
super();
}
};

var d = new Derived();

➜ js_programs node class1.js /media/vi/DATA/programs/web/js/js_programs/class1.js:7 init(); ^

ReferenceError: init is not defined at Derived.Base (/media/vi/DATA/programs/web/js/js_programs/class1.js:7:9) at Derived (/media/vi/DATA/programs/web/js/js_programs/class1.js:18:14) at Object. (/media/vi/DATA/programs/web/js/js_programs/class1.js:23:9) at Module._compile (module.js:435:26) at Object.Module._extensions..js (module.js:442:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:311:12) at Function.Module.runMain (module.js:467:10) at startup (node.js:136:18) at node.js:963:3 ➜ js_programs

最佳答案

您调用的是函数 init(),而不是 方法 init Base 或当前对象。当前作用域或任何父作用域中不存在此类函数。您需要引用您的对象:

this.init();

关于javascript - 从构造函数调用类方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35504605/

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