** 参考**
书籍:ECMAScript 6 入门
作者:阮一峰函数参数的默认值
ES6 允许为函数的参数设置默认值,即直接写在参数定义的后面。应用
利用参数默认值,可以指定某一个参数不得省略,如果省略就抛出一个错误。
-
扩展运算符
...
的应用
扩展运算符提供了数组合并的新写法。
与解构赋值结合。
解决函数返回值只有一个问题。
将字符串转为数组。
- 箭头函数
=>
- 函数绑定运算符
::
尾调用优化
尾调用由于是函数的最后一步操作,不需要保留外层函数的调用帧,因为调用位置、内部变量等信息都不会再用到了,只要直接用内层函数的调用帧,取代外层函数的调用帧就可以了,这将大大节省内存。尾递归优化
递归非常耗费内存,因为需要同时保存成千上百个调用帧,很容易发生“栈溢出”错误(stack overflow)。但对于尾递归来说,由于只存在一个调用帧,所以永远不会发生“栈溢出”错误。函数参数的尾逗号
如果像上面这样,将参数写成多行(即每个参数占据一行),以后修改代码的时候,想为函数clownsEverywhere添加第三个参数,或者调整参数的次序,就势必要在原来最后一个参数后面添加一个逗号。这对于版本管理系统来说,就会显示添加逗号的那一行也发生了变动。这看上去有点冗余,因此新的语法允许定义和调用时,尾部直接有一个逗号。