下面的代码代表什么?

问题描述 投票:0回答:1
const getActions = () => [
  require('./add'),
  require('./sub'),
  require('./mul'),
  require('./div')
];
module.exports = (func, actions= getActions());

在上面的代码中,我们在[]内部添加了四个require语句。这到底意味着什么? 我们再次在 module.exports 中调用相同的函数 getActions()。

谁能解释一下这个语法的基本原理及其用途吗?

javascript arrow-functions
1个回答
2
投票

第一部分定义了一个分配给常量

getActions
的函数。该函数是一个简洁箭头函数,返回一个数组,其中包含调用
require
四次的结果。 (
[]
是一个数组初始值设定项。)

第二部分(导出部分)是使用逗号运算符来评估

func
标识符(请注意,它没有调用它,没有
()
;这有点奇怪),然后调用
getActions
并将其结果分配给
actions
。然后,结果也会分配给
module.exports
,因为赋值的结果是分配的值,而逗号运算符的结果是评估其右侧操作数所产生的值。

举例来说,除了

const
位之外,这里是旧式
function
且没有逗号运算符,分成几个部分(但保留顺序):

function getActions() {
    return [/*...the four require calls here...*/];
}
func;
actions = getActions();
module.exports = actions;
© www.soinside.com 2019 - 2024. All rights reserved.