ES6-剩余参数

一.怎么用

        const fn = (x, y, ...args) => {//定义剩余参数要加...  使用时不用加... 不一定叫args,满足标识符命名即可;
            console.log(args);//永远是数组,没有值也是空数组
        }
        fn(1, 2)//[]
        fn(1, 2, 3)//[3]
        fn(1, 2, 3, 4)//[3,4]

二.剩余参数就是数组,不像arguments是类数组;

三.箭头函数有剩余参数,如果形参只有一个剩余参数,也不能省略()

四。使用剩余参数替代arguments

        const fn = (...args) => {
            console.log(args);
        }
        fn(1, 2, 3, 4)//[1,2,3,4]

五。剩余参数只能是最后一个参数

        const fn = (...args,x,y) => {//报错
            console.log(args);
        }

 六。剩余元素:在解构赋值中,且必须放在最后面

        // const [x, y, ...args] = [1, 2, 3, 4];
        // console.log(x, y, args);//1 2 [3,4]
        //-----------------------------------
        // const [x, y, ...args] = [1, 2];
        // console.log(x, y, args);//1 2 []
        //------------------------------------
        //const [...args,x, y] = [1, 2];//报错,必须放在最后面
        const { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 };
        console.log(z);//{a: 3, b: 4}

七。剩余参数,剩余元素区别

剩余参数要在函数形参里定义,且是作为形参,且这时一定是数组;不像arguments是内置不需要定义;

剩余参数用在解构赋值里,也可以是对象或者数组,此时叫做剩余元素;

剩余参数和剩余元素的书写格式都是使用“…变量名”的方式,不同的是:剩余参数是直接作为函数参数使用的。剩余元素是在解构赋值时,用来接收剩下的元素。

 

posted @ 2023-01-10 12:20  游千山  阅读(136)  评论(0)    收藏  举报