ES6学习let&const
juejin.im/entry/5c684…git
...运算符又叫作展开收集运算符。...运算符在不一样的地方有不一样的做用。
1.写————收集做用github
function test(...arg) {
}
test(1,2,3)
复制代码
2.读————展开做用web
var arg = [1,2,3]
console.log(...arg) //1 2 3
复制代码
1.简化书写长度
2.提升开发效率数组
能够接受不定参数,下面是使用arguments和...运算符对不定参数的求和。微信
function sum() { //使用arguments
let sumNumber = 0
for(let i = 0;i < arguments.length; i ++) {
sumNumber += arguments[i]
}
console.log(sumNumber) // 15
return sumNumber
}
sum(1,2,3,4,5)
function sum(...arg) { //使用...运算符
console.log(arg) //[1, 2, 3, 4, 5] arg是一个数组,能够直接使用数组方法
let sumNumber = 0
arg.forEach(function(ele) {
sumNumber += ele
})
console.log(sumNumber) // 15
return sumNumber
}
sum(1,2,3,4,5)
复制代码
能够看出使用...运算符更为简洁。学习
...运算符前面能够写固定形参,可传入值。可是...运算符后面不容许在传入形参。spa
function test(a,b,...arg) {
console.log(a,b,arg) //10 20 ["aa", "bb"]
}
test(10,20,'aa','bb')
复制代码
下面代码是使用...运算符写一个去掉最高值,去掉最低值的平均值code
function average(...arg) {
arg.sort(function(a,b) {
return a - b
})
arg.pop()
arg.shift()
console.log(arg) //[2, 3, 4, 5, 6]
return computedScore(...arg)
}
function computedScore(...arg) {
let sum = 0
arg.forEach(function (ele) {
sum += ele
})
console.log(sum/arg.length) //4
return sum/arg.length
}
average(1,2,3,4,5,6,7)
复制代码
能够看出使用...运算符会明显比用arguments更方便。对象
...[1,2,3,4,5] 至关于 1,2,3,4,5 下面例子将两数组合并开发
let arr1 = [1,2,3,4,5]
let arr2 = [6,7,8]
let newArr = [...arr1,...arr2] //[].concat(arr1,arr2)
console.log(newArr) //[1, 2, 3, 4, 5, 6, 7, 8] 至关于concat
复制代码
在ES6中...运算符主要是操做数组,ES7中能够展开对象,这里不作过多解释。
广告:
做者github:github.com/webxukai
做者gitee:gitee.com/webxukai 做者微信:e790134972 做者QQ:我想你应该知道了! 做者QQ邮箱:同上,呵呵!