Javascript 为什么要获取未定义错误的属性?
我得到以下错误Javascript 为什么要获取未定义错误的属性?,javascript,ecmascript-6,Javascript,Ecmascript 6,我得到以下错误 Uncaught TypeError: Cannot read property 'on' of undefined 它发生在我添加代码行时 let ServicePlugin = new ServicePlugin(); 知道我做错了什么吗?下面是完整的代码 'use strict'; class ServicePlugin { constructor(api) { this._api = api; this._api.on('ready', ()
Uncaught TypeError: Cannot read property 'on' of undefined
它发生在我添加代码行时
let ServicePlugin = new ServicePlugin();
知道我做错了什么吗?下面是完整的代码
'use strict';
class ServicePlugin {
constructor(api) {
this._api = api;
this._api.on('ready', () => this._apiReady());
this._api.on('saveSuccess', () => this._apiSuccess());
}
_apiReady() {
console.log('Plugin Ready')
}
_apiSuccess() {
console.log('Plugin Success');
}
}
let ServicePlugin = new ServicePlugin();
ServicePlugin._apiReady();
module.exports = ServicePlugin;
实例化类时,必须提供
learnosity
参数(不管是什么)AnnServicePlugin
需要它:
let annServicePlugin = new AnnServicePlugin(learnosity);
当然,
learnosity
对象必须在方法上具有预期的。new AnnServicePlugin()代码>您传递给构造函数的是什么?--<代码>未定义
。所以,console不是在骗你。简单地说,this.\u learnosity=未定义代码>和on()
未在未定义的上定义。什么是学习性?它在哪里定义过?问题是调用构造函数时没有参数。因此,learnosity
未定义。