const getActions = () => [
require('./add'),
require('./sub'),
require('./mul'),
require('./div')
];
module.exports = (func, actions= getActions());
在上面的代码中,我们在[]内部添加了四个require语句。这到底意味着什么? 我们再次在 module.exports 中调用相同的函数 getActions()。
谁能解释一下这个语法的基本原理及其用途吗?
第一部分定义了一个分配给常量
getActions
的函数。该函数是一个简洁箭头函数,返回一个数组,其中包含调用 require
四次的结果。 ([]
是一个数组初始值设定项。)
第二部分(导出部分)是使用逗号运算符来评估
func
标识符(请注意,它没有调用它,没有 ()
;这有点奇怪),然后调用 getActions
并将其结果分配给actions
。然后,结果也会分配给 module.exports
,因为赋值的结果是分配的值,而逗号运算符的结果是评估其右侧操作数所产生的值。
举例来说,除了
const
位之外,这里是旧式 function
且没有逗号运算符,分成几个部分(但保留顺序):
function getActions() {
return [/*...the four require calls here...*/];
}
func;
actions = getActions();
module.exports = actions;