在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),
};
=>
在这做什么?
答案 0 :(得分:3)
它们是一种特殊的函数文字符号,称为arrow functions,与ES6一起引入。它与coffeescript基本相同。
它可以缩短为console.bind(console, "Added")
: - )
答案 1 :(得分:2)
这是即将推出的JavaScript版本的语法,ECMAScript 6,又名Harmony。
对于x => expr
,this
语法或多或少(与function (x) { return expr; }
的处理不同)。
答案 2 :(得分:1)
这被称为"箭头功能"或" lambda表达式"。
如果你想使用它而不是等待ECMAScript 6,你可以看看typescript,你不必担心浏览器兼容性和这类东西。
您可以查看an example here。