ES6新特性之 函数参数的默认值写法 和 箭头函数。前端
一、函数参数的默认值函数
ES5中不能直接为函数的参数指定默认值,只能经过如下的变通方式:学习
从上面的代码能够看出存在一个问题,当传入的参数为0或者false时,会直接取到后面的值,而不是传入的这个参数值。this
那怎么解决呢?对于上图的代码,能够经过判断是否传入了num参数,没有就用默认值:spa
这种作法仍是很麻烦的,而ES6则直接在参数定义里面设置函数参数的默认值,并且不用担忧传入参数是0或者false会出错了:3d
二、箭头函数blog
箭头函数用 => 符号来定义。排序
箭头函数至关于匿名函数,因此采用函数表达式的写法。get
左边是传入函数的参数,右边是函数中执行的语句。回调函数
至关于
上面是完整的写法,左边小括号,右边大括号,而下面的状况能够简写:
(1)当要执行的代码块只有一条return语句时,可省略大括号和return关键字:
(2)当传入的参数只有一个时,能够省略小括号:
至关于
(3)当不须要参数时,使用空的圆括号:
至关于
箭头函数在回调函数中是很简洁的,像这样:
在排序中:
须要注意的是, 箭头函数没有本身的this、arguments、super、new.target,它们分别指向外层函数的相应变量。
之前在ES5中使用this有点麻烦,这种问题很常见:
这就须要在嵌套函数外层使用that = this,而后内层使用that,就是下面这样子:
可是如今有了箭头函数,再也不须要使用that = this或 _this = this 这种代码啦,由于箭头函数中的this直接就是外层函数中的this,代码更简单了:
Oh,wonderful !!!
ES6还有好多惊喜,之后再整理笔记放上来吧~
写在后面的话
好吧,虽然木有什么人看,但我仍是会认真对待每一篇博文(或者叫随笔?这是什么鬼!),这也算是个人心血了 = =
自学前端很苦,遇到问题只能网上查资料,在此过程当中,被网上其余前端ers无私分享知识和经验的行为所深深感动,所以记录下本身的学习历程,分享学习感悟,既是对本身所学的总结升华,也算是一种回馈,但愿帮到其余学习前端的朋友啦~