es6常用特性———函数扩展(rest参数)

本文介绍了ES6中函数的两个重要特性:参数默认值和rest参数。参数默认值允许在函数调用时未提供参数时设置默认值,解决了ES5中为参数赋默认值的问题。rest参数则用于收集函数多余的参数,它是一个数组,且不影响length属性。与arguments对象相比,rest参数是真正的数组,可以直接使用数组方法。此外,文章还展示了如何在ES5和ES6中实现参数求和功能。
摘要由CSDN通过智能技术生成

1.参数默认值

在调用函数时,如果没有提供该参数,则使用默认值 。
在es5中给参数添加默认值如下:

function show(a, b, c) {
    if (c === undefined) {
        c = 0;
    }
    console.log(a + b);
}
show(1, 2);  //3

es6中为函数添加默认值如下:

function show(a, b, c=0) {
    console.log(a + b);
}
show(1, 2);//3

2.rest参数

rest 参数接受函数的多余参数,组成一个数组,其必须作为函数的最后一个参数。函数的 length 属性,不包括rest参数

function arr(a, b, ...rest) {
    console.log(rest);
}
arr(1, 2, 3, 4, 5, 6, 7); //3 4 5 6 7
 console.log(arr.length); //2

rest参数和arguments对象的区别:

1)rest参数只包括那些没有给出名称的参数,arguments包含所有参数。

2)arguments对象是伪数组,所以为了使用数组的方法,必须使用Array.prototype.slice.call(arguments)先将其转为数组。而rest参数是数组实例,数组特有的方法都可以使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值