javascript - 理解这个 JS 语法
问题描述
我正在练习 ES6,我有这个代码:
const over = (...fns) => (...args) =>
fns.map(fn => fn.apply(null, args));
const minMax = over(Math.min, Math.max);
console.log(minMax(1, 2, 3, 4, 5));
console.log(minMax(1, 2, 5, 4, 3));
console.log(minMax(1, 2, 5, -4, 3));
目标是获得作为参数传递的数字之间的最小值和最大值。
我几乎可以理解所有内容,动态非常清楚,除了一个例外,我知道是args
指来自 的参数minMax()
,但我无法理解代码如何识别它。
我的猜测是:因为我们有两个函数,over()
并且minMax()
,当被调用时,它们会自动按此顺序读取,这就是为什么代码知道第一个匿名函数引用over()
和第二个匿名函数引用minMax()
。但这只是一个猜测,我不知道我是否正确。
这里到底发生了什么?
解决方案
推荐阅读
- css - Bootstrap 4 工具包在 Angular ngFor 中无法正常工作
- django - addBooks() 得到了一个意外的关键字参数“名称”
- jquery - 使用 .on load 函数检查 Id Jquery 是否已加载图像?
- python - 在 Pycharm 中下载 NLTK 数据不起作用
- xcode - 如何将 .xcodeproj 添加到 github 存储库
- powershell - 如果有子目录,为什么“get-childItem -recurse | select-string foo”不会导致错误?
- c# - 远程服务器返回错误:(412) Precondition Failed
- javascript - discord.js反应收集器功能返回错误
- reactjs - 如何制作反应路由器,根据url更改正在渲染的文件
- android - Kotlin if 语句失败