我正在尝试使用 ES6 语法创建一些 JavaScript 代码,但它给了我一些错误。当我用 ES5 编码时,它运行得很好。索引.jslet UIController = () => { return { getInput: () => { }, clearFields: () => { }, }}let dataController = () => {}let controller = (dataCtrl, UICtrl) => { let setupEventListeners = () => { }; return { init: () => { console.log('Application has started.'); setupEventListeners(); } };}controller(dataController, UIController);controller.init();我希望它记录The application has started,但相反,它给了我一个错误。
1 回答

幕布斯7119047
TA贡献1794条经验 获得超8个赞
您定义controller
为函数。所以controller.init()
不起作用,因为它还没有返回它的值。您可以存储和访问控制器函数返回的对象的属性,如下所示:
let someVar = controller(dataController, UIController); someVar.init();
或者没有任何额外的变量赋值
controller(dataController, UIController).init();
添加回答
举报
0/150
提交
取消