我有一个JavaScript类,大致如下:
function StateManager () {
this.storeDir = { read: (a, b) => { return false } }
this.state = this.storeDir.read('./state.json', 'json') || { state: 'new' }
}
StateManager.prototype.update = () => {
console.log(this.state.state)
}
module.exports = new StateManager()
假设这是一个名为“StateManager.js”的文件,并且我们在同一个文件夹中有另一个文件,我应该可以按如下方式调用它:
let StateManager = require('./StateManager')
console.log(StateManager)
StateManager.update()
我希望看到StateManager
对象后跟当前状态,因为我们使用的是虚函数将永远是“新”。但是,由于某些未知原因,this
中的.update()
是一个空对象,因此this.state.state
出错。 StateManager
似乎包含一个受欢迎的StateManager
对象,但是我无法理解为什么会这样。有没有办法在this.state
函数中访问StateManager.prototype.update
?