在Mozilla的JavaScript中,`=>`做了什么?

时间:2013-12-20 05:34:46

标签: javascript mozilla

在Mozilla的sample code for Downloads.jsm中有一些使用=>的行,我不知道其含义:

let view = {
  onDownloadAdded: download => console.log("Added", download),
  onDownloadChanged: download => console.log("Changed", download),
  onDownloadRemoved: download => console.log("Removed", download),
};

=>在这做什么?

3 个答案:

答案 0 :(得分:3)

它们是一种特殊的函数文字符号,称为arrow functions,与ES6一起引入。它与coffeescript基本相同。

它可以缩短为console.bind(console, "Added"): - )

答案 1 :(得分:2)

这是即将推出的JavaScript版本的语法,ECMAScript 6,又名Harmony。

对于x => exprthis语法或多或少(与function (x) { return expr; }的处理不同)。

答案 2 :(得分:1)

这被称为"箭头功能"或" lambda表达式"。

如果你想使用它而不是等待ECMAScript 6,你可以看看,你不必担心浏览器兼容性和这类东西。

您可以查看an example here