>es6中允许给函数的参数设置默认值,但是参数不能重复声明,参数名也不能相同
>与解构赋值默认值结合使用
>参数中只有在显示传入undefined,会触发该参数等于默认值,传入null不行。如果有默认值的参数不是最后,并且在调用时传参没有给值,将会报错
>length属性
返回该函数没有默认值的参数个数,不包括rest参数,如果设置了默认值的参数不是尾参数,那么length属性也不再计入后面的参数了
>bind返回的函数,name属性值会加上bound前缀
>作用域
在设置了参数的默认值,函数进行声明初始化时,参数会形成一个单独的作用域。等到初始化结束,这个作用域就会消失。在不设置参数默认值时,不会出现
>箭头函数
多用于短函数时,或者需要考虑this时
>多层嵌套时
前一个函数的输出是后一个函数的输入
>arguments,super,new.target在箭头函数中不存在,指向外层函数对应的变量
>嵌套的箭头函数
>绑定this
foo::bar() =bar.bind(foo) bar中的this指向foo
注:以上为自己的学习笔记,详情请见阮一峰的es6详解