该特性处于 ECMAScript 6 规范草案中,目前的实现在未来可能会发生微调,请谨慎使用。
箭头函数就是个是简写形式的函数表达式,并且它拥有词法作用域的this值.箭头函数总是匿名的.
语法
([param] [, param]) => {
statements
}
param => expression
参数
param- 若干个参数名,0个参数需要使用
()来表示,一个参数的时候小括号可以省略(比如foo => 1). statements or expression- 多条语句需要使用大括号围起来.一条表达式不需要大括号,且此时该表达式的值就是此函数的返回值.
示例
// 一个空箭头函数,返回undefined
let empty = () => {};
(() => "foobar")() // 返回"foobar"
var simple = a => a > 15 ? 15 : a;
simple(16); // 15
simple(10); // 10
var complex = (a, b) => {
if (a > b) {
return a;
} else {
return b;
}
}
规范
浏览器兼容性
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
|---|---|---|---|---|---|
| Basic support | 未实现 | 22 (22) | 未实现 | 未实现 | 未实现 |
| Feature | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|
| Basic support | 未实现 | 22.0 (22) | 未实现 | 未实现 | 未实现 |