ES6学习...运算符

549 阅读2分钟

ES6其他文章:

ES6学习let&const
juejin.cn/post/684490…

...运算符定义

...运算符又叫做展开收集运算符。...运算符在不同的地方有不同的作用。
1.写————收集作用

    function test(...arg) {

    }
    test(1,2,3)

2.读————展开作用

    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)

可以看出使用...运算符更为简洁。

...运算符前面可以写固定形参,可传入值。但是...运算符后面不允许在传入形参。

    function test(a,b,...arg) {
        console.log(a,b,arg) //10 20  ["aa", "bb"]
    }
    test(10,20,'aa','bb')

下面代码是使用...运算符写一个去掉最高值,去掉最低值的平均值

    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邮箱:同上,呵呵!