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