Viv*_*mar 17 javascript ecmascript-6
从构造函数中调用类方法时出错.是否可以从构造函数中调用方法?我尝试从派生类的构造函数中调用基类方法,但我仍然收到错误.
'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();
Run Code Online (Sandbox Code Playgroud)
➜js_programsnode class1.js /media/vi/DATA/programs/web/js/js_programs/class1.js:7 init(); ^
ReferenceError:在Derived(/ media/vi/DATA/programs/web/js /)的Derived.Base(/media/vi/DATA/programs/web/js/js_programs/class1.js:7:9)中未定义init js_programs/class1.js:18:14)在Object.(/media/vi/DATA/programs/web/js/js_programs/class1.js:23:9)在Module._compile(module.js:435:26)的Object.Module._extensions..js(module.js) :442:10)在Module.load(module.js:356:32)在Function.Module._load(module.js:311:12)的Function.Module.runMain(module.js:467:10)启动时(node.js:136:18)在node.js:963:3➜js_programs
dec*_*eze 27
你调用的函数 init(),而不是方法 init的任一Base或当前对象.当前作用域或任何父作用域中不存在此类函数.你需要引用你的对象:
this.init();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18619 次 |
| 最近记录: |