浅析ES6 箭头函数(上)

最初接触 箭头函数 => 是在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]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 函数参数的默认值 基本用法 在ES6之前,不能直接为函数的参数指定默认值,只能采用变通的方法。 上面代码检查函数l...
    呼呼哥阅读 3,508评论 0 1
  • 原文链接:https://github.com/EasyKotlin 值就是函数,函数就是值。所有函数都消费函数,...
    JackChen1024阅读 6,098评论 1 17
  • 箭头符号在JavaScript诞生时就已经存在,当初第一个JavaScript教程曾建议在HTML注释内包裹行内脚...
    程序员之路阅读 767评论 0 3
  • 1.函数参数的默认值 (1).基本用法 在ES6之前,不能直接为函数的参数指定默认值,只能采用变通的方法。
    赵然228阅读 727评论 0 0
  • 晨跑把这节礼仪课余下的部分听完!感觉自己棒棒哒!孩子的礼仪教育又有了更新更深刻的体会!加油!致努力的自己!
    花落花开_1168阅读 274评论 0 1