ECMA6Script学习笔记(四)

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

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

原创声明:文章首发地址:https://bbs.huaweicloud.com/blogs/431972,本文是由本作者在华为云社区的首发后搬运而来,不存在抄袭.

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

相关文章
|
6月前
|
JavaScript 前端开发 API
ECMAScript和JavaScript的区别是什么?
【4月更文挑战第11天】ECMAScript和JavaScript的区别是什么?
39 1
|
4月前
ECMA6Script学习笔记(二)
本文是对自己学习ES6的学习笔记回顾,后面是概要内容:ES6的解构赋值提供了一种从数组或对象中快速提取数据并赋值给变量的语法。数组解构允许按顺序赋值,支持默认值处理缺失元素;对象解构则需要变量名与属性名一致,或通过冒号指定新变量名。此外,解构赋值简化了函数参数的接收,提高了代码的可读性和可维护性。
ECMA6Script学习笔记(二)
|
4月前
ECMA6Script学习笔记(三)
本文是对自己学习ES6的学习笔记回顾,后面是概要: 本文探讨了ES6中箭头函数的特点和使用。箭头函数简化了函数声明。关键特性是它们不绑定自己的this,而是继承自定义时的上下文。文中通过代码示例阐释了this指向问题,并展示了在实际开发中如何通过打印this来理解其指向。本文通过一个HTML页面的点击事件示例,演示了如何使用箭头函数处理事件和this的指向问题,强调了在不同上下文中this的不同
ECMA6Script学习笔记(三)
|
4月前
|
JSON JavaScript 前端开发
ECMA6Script学习笔记(一)
本文是对自己学习ES6的学习笔记回顾,后面是概要内容neirECMAScript 6(ES6)是2015年发布的JavaScript语言重大更新,引入了箭头函数、模板字符串、let/const声明、解构赋值等特性,提升了开发效率.详细解释了let和const与var的差异,包括作用域、变量提升和全局作用域影响。同时,展示了模板字符串的多行和变量插入功能.
|
5月前
|
JavaScript 前端开发 API
ECMAScript vs JavaScript: 理解两者间的联系与区别
ECMAScript vs JavaScript: 理解两者间的联系与区别
|
5月前
|
JSON 前端开发 JavaScript
ECMA6Script
ECMA6Script
62 0
|
6月前
|
Web App开发 JavaScript 前端开发
Ecmascript 和javascript的区别
Ecmascript 和javascript的区别
33 0
|
JSON JavaScript 前端开发
详解JavaScript(ECMAScript与DOM)(中)
详解JavaScript(ECMAScript与DOM)(中)
|
6月前
|
JavaScript 前端开发 安全
探索ECMAScript 2023:JavaScript的最新特性
探索ECMAScript 2023:JavaScript的最新特性
120 1
|
XML JavaScript 前端开发
详解JavaScript(ECMAScript与DOM)(下)
详解JavaScript(ECMAScript与DOM)(下)
下一篇
无影云桌面