在ES 5中,JavaScript定义默认参数的方式如下:
但在ES 6中,可以直接把默认值放在函数声明中:
在ES 6中,声明函数时,可以为任意参数指定默认值,在已指定默认值的参数后还可以继续声明无默认值的参数。
在这种情况下,只有在没有为height和color传值,或者主动为它们传入undefined时才会使用它们的默认值。
在ES 5中,无论在函数定义中声明了多少形参,都可以传入任意数量的参数,在函数内部可以通过arguments对象接收传入的参数。
ES 6引入了rest参数,在函数的命名参数前添加了3个点,用于获取函数的实参。rest参数是一个数组,包含自它之后传入的所有参数,通过这个数组名就可以逐一访问里面的参数。
rest参数必须放到参数最后位置: