【问题标题】:Array as parameter in sort's callback function数组作为排序回调函数中的参数
【发布时间】:2019-05-11 20:11:16
【问题描述】:

这个问题与我几天前写的一个问题有关。我收到了答案,它有效,但有一点我不明白。这是一个链接:LINK

在调试代码时,我停在.sort(([x], [y]) => leftTop(x, y)) 部分(我只是更改了字母)。我知道浏览器有时会以某种方式将代码转换为以其他方式读取它,但为什么将其更改为.sort(function(_a, _b) { var x = _a[0]; var y = _b[0]; return... })?也就是说[x]是怎么变成_a[0]的?

【问题讨论】:

  • 看起来像 Babel 会做的事情 - 将 ES6+ 语法转换为 ES5 兼容语法(逻辑相同),但如果不看你的设置是什么就很难确定。 (这不是 browser 会做的事情,我想,这是你的 build process 会做的事情)

标签: javascript arrays sorting parameters arguments


【解决方案1】:

简答

ES6 → ES5 转译

更长的答案

语法([x], [y]) => leftTop(x, y)arrow function,这是一种表达在 EcmaScript2009(又名 ES5)中不存在但在 EcmaScript2015(又名 ES6)及更高版本中存在的函数的方式。

人们将代码从 ES6 转换为 ES5 的原因有很多,主要是为了确保与浏览器和工具的兼容性。

很多工具默认使用 ES6→ES5 转译太频繁了,比如create-react-appng new。在后台,使用最广泛的转译工具是babel。您很可能在构建应用程序时使用它,因此您的语法会发生变化。

【讨论】:

  • 这绝对不是我的意思,但我在链接的线程中得到了响应。
猜你喜欢
  • 2021-08-12
  • 2013-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多