ECMA6Script学习笔记(四)

举报
XError_xiaoyu 发表于 2024/07/30 14:47:29 2024/07/30
【摘要】 本文是对自己学习ES6的学习笔记回顾,后面是概要: 本文介绍了ES6中的rest和spread操作符。Rest操作符用于函数参数列表中,允许函数接收任意数量的参数,并将它们存储在一个数组中。Spread操作符则在调用函数或构造数组和对象时使用,允许将数组或对象展开为单独的元素或属性。文章通过代码示例展示了rest操作符如何收集剩余参数,以及spread操作符在合并数组和对象中的应用.

rest和spread

个人比较喜欢在代码中写注释,因此后续的代码和知识点中,很多解释会在代码中以注释的方式存在

rest和spread 代表参数列表中多个普通参数 ,其中普通函数和箭头函数中都支持使用

rest作为形参来使用

作用:作为形参用来接收多余的参数

 //js中可变参数叫rest 剩余的,解决剩余的参数接受问题
        //可以接收剩余的一个或多个参数
        //一个参数列表中只能是最后一个,因此就只能是唯一个
        let fun1= (a,b,c,d,... arr)=>{
            console.log(a,b,c,d);
            console.log(arr);
        };
        fun1(1,2,3,4,5,6,7,8,9);

arr接收了剩余的参数值,如下图所示:

image.png

spread作为实参来使用,可以有很多应用场景

/* spread 展开 rest在实参上的使用 */
        let arr = [1,2,3];
        // let info = ...arr // ...arr >> 1,2,3 这么写是错的,必须在调用方法时,作为实参使用
        fun2 = (a,b,c)=>{
            console.log(a,b,c);
        }
        fun2(arr); //传给第一个参数
        fun2(...arr); //分别赋值给a,b,c

image.png

spread的应用场景
1.快速合并数组,spread,作为实参变量使用

作为实参变量,然后作为变量值来使用

 /* spread的应用场景 */
        //1.快速合并数组,spread,作为实参变量使用
        let a = [1,2,3];
        let b = [4,5,6];
        let c = [7,8,9];
        //合并数组
        let d = [...a,...b,...c];
        console.log(d);

image.png

2.快速合并对象

将对象的属性值作为属性值进行传入并进行合并

//2.快速合并对象
//将多个对象的属性作为值传入合并
let person1={name:"张三"};
        let person2={age:"10"};
        let person3={gender:"boy"};
        let person4={...person1,...person2,...person3};
        console.log(person4);

image.png

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。