ES6 函数相关

ES6中对于函数的一些用法有了进一步的补充,例如参数相关的剩余参数默认参数,以及箭头函数作为函数表达式的写法。

默认参数

在以前,如果我们要给函数参数的默认值,需要自行判断,如下

function foo(p) {
  p = p === undefined ? "默认值" : p
  console.log(p)
}
foo() // 默认值

有了默认参数以后,它允许在定义函数的时候,就给参数一个默认值,当调用时没有传参或传入undefined时就会使用该值

function foo(p = "默认参数") {
  console.log(p)
}
foo() // 默认参数
foo(undefined) // 默认参数
foo(null) // null

可见只有没传值或传入的是undefined时才会启用默认值,即便是当我们传入null,它也可以正常拿到

注意
  1. 默认参数,以及其后边的参数,不会计算在函数的length属性中
function foo(p1, p2 = "默认参数", p3) {
  console.log(p)
}
console.log(foo.length)  // 1
  1. 最好将默认参数放于参数最后

剩余参数

剩余参数允许我们将一个不定数量的参数表示为一个数组

arguments的区别在于,剩余参数就是一个数组,可以调用数组的方法;arguments只是一个类数组

function foo(...params) {
  console.log(params)
}
foo(1, 2, 3, 4, 5, 6) // [1, 2, 3, 4, 5, 6]

与默认参数一样,他也不会计算在函数的length

console.log(foo.length) // 0

当然他也应该放在参数的最后,这个不放在最后直接就报错了,所以最后的排列应该为

普通参数,默认参数,剩余参数

这部分内容还算是比较简单的,关于箭头函数的话之前已经复习过了,详细内容可以看看箭头函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值