浅析ES6 箭头函数(上)

2017-03-09  本文已影响0人  richardch

最初接触 箭头函数 => 是在C# 中的Lambda表达式, Lambda表达式作为CLR4 中新引入的语法糖 本质上就是个匿名函数, 整个Lambda表达式也可以看成是一个委托类型
在Javascript 中 如果要实现一个匿名函数, 大部分情况下是这么做的

$("#save-btn").click(function (event) {
.......
});

ES6 中引入了一种新的编写匿名函数的语法,他的写法非常简单:
标识符=>表达式
function,return 关键词, 以及一些大括号小括号统统可以省略,上述例子在ES6 中就可以这么写:

$("#save-btn").click(event=>{
   .......
});

基本语法:
( ) => { … } // 零个参数用 () 表示;
x => { … } // 一个参数可以省略 ();
(x, y) => { … } // 多参数不能省略 ();


但是需要注意的是,多行语句需要用{}括起来单行表达式不需要{},并且会作为函数返回值
x => {returnx * x };// 函数返回 x * x
x => x * x;// 同上一行
x =>returnx * x;// SyntaxError 报错,不能省略 {}
x => { x * x };// 合法,没有定义返回值,返回 undefined

箭头函数也可以使用剩余参数和默认参数。

var func1=(x =1, y =2)=>x + y;func1();//得到3
var func2=(x, ...args)=>{console.log(args) };
func2(1,2,3);//输出 [2,3]
上一篇 下一篇

猜你喜欢

热点阅读