2021-03-08 ES6 스프레드 연산자 및 나머지 매개 변수 연산자

스프레드 연산자

주로 확장 및 확장하려면 다음 예제를 참조하십시오.

  		let Arr = [1, 2, 3, 4, 5,6, 7, 8, 9]
        console.log(...Arr)//扩展运算符 
        //1, 2, 3, 4, 5,6, 7, 8, 9 
         //相当于打印Arr [0] Arr[1] Arr[2] Arr[3].......
        console.log(Arr[0],Arr[1],Arr[2],Arr[3],Arr[4],Arr[5],Arr[6],Arr[7],Arr[8])
       //1, 2, 3, 4, 5,6, 7, 8, 9 
       两个结果相同

스프레드 연산자는 얕은 복사 프로세스입니다.

        let Arr = [1, 2, 3, 4, 5,6, 7, 8, 9,{
    
    name:"zjq"}]
        let Brr =[...Arr]
        Brr[9].name = 'ZJQ'
        console.log(Arr) //
        console.log(Brr) //
         //两个打印的结果相同 name都为ZJQ 所以扩展运算符是浅拷贝

확산 연산자는 의사 배열을 실제 배열로 변환 할 수 있습니다.

    <button>1</button>
    <button>2</button>
    <button>3</button>
    <button>4</button>
    <script>
        let btn = document.getElementsByTagName('button')
        console.log(btn)
        //是一个元素集合 伪数组 
        //HTMLCollection(4) [button, button, button, button]  
        let btn2 = [...btn]
        console.log(btn2)
        //转换成真数组
        // [button, button, button, button]
    </script>

의사 배열을 실제 배열로 변환하는 방법 :
1. Array.from () 2.
연산자
확장 3. for loop with push

나머지 매개 변수 연산자

모든 매개 변수를 배열로 수집

        function zjq(...list) {
    
     //剩余参数运算符
            console.log(list) //[1,2,3]
            //可以对参数进行处理
            for (let i=0; i < list.length; i++) {
    
    
                console.log(list[i])
                //1  2  3
            }
        }
        zjq(1, 2, 3)

Object.assign ()은 열거 가능한 객체의 얕은 복사본을 병합합니다.

추천

출처blog.csdn.net/qq_43291759/article/details/114541175