ES6學習...運算符

ES6其餘文章:

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

相關文章
相關標籤/搜索