【JS】ES6---基础2

本文介绍了ES6中的一些新特性,包括模板字符串、函数参数默认值、箭头函数、扩展运算符、数组的新增方法如find、findIndex以及对象的简洁表示和Object.assign()等。此外,还讲解了SET数据结构的基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、新增字符串操作

      模板字符串:   

  1. 就是反引号的用法
  2. 定义比较长,复杂的字符串
  3. 可以插入变量
  4. 可以插入函数
  • 二、函数新特性

  •      1.函数参数默认值

  注:具有默认值的参数要写到后边

     2.args参数

          Function fn(...args){}

          可替代arguments

          arguments是一个类数组对象,

          args是纯数组对象

      3.箭头函数

           3.1  Let fn=val =>val;

                   //等同于

                  Let fn=function(val){return val;}

            3.2 实现俩个数的和

                 Let sum=(num1,num2)=>num1+num2;

               Console.log(sum(1,5));

            3.3若要执行多条语句需要加花括号

            3.4 作用:

                  简化回调函数的写法   eg arr sort((a,b)=>a-b)

                  箭头函数中的this是函数声明时所在的对象


三、数组新特性

1.扩展运算符

        1.1相当于rest方法的逆运算,把数组转换为用逗号隔开的参数列表

1.2   function fn(x,y,z){

                  Console.log(x,y,z);

             }

            Var arr=[1,2,3];

            Fn(...arr);

        1.3应用

          1.3.1复制数组

 Var arr1=[1,2,3];

 Var arr2=[...arr];

          1.3.2合并数组

               Var a=[1,2,3];

               Var b=[4,5,6];

               Var c=[7,8,9];

             //ES5

                Var d=a.concat(b,c);

             //ES6

                Var e=[...a,...b,...c];

         1.3.3用于解构赋值

               Let[a,b,...args]=[1,2,3,4,5]

         1.3.4用于字符串

              Let arr=[...”hellow”]

         1.3.5适用于所有的类数组集合(实现了遍历器接口的数据类型)

2.Array构造函数新增方法

        Array.from( ) 将类数组对象转换为纯数组

       Array.of(a,b,c) 将参数列表返回一个数组

                             相当于创建数组

                             Arr.of(3)!=new Array(3)

3.数组对象新增方法

        3.1 Find(callback) 返回数组第一个满足条件的元素  

 let arr=[9,16,-9,7,56];

      for result=arr.find(function(val,index){

      if(val>10){

            return true;

        }

       return false

    })

Let arr=[9,16,-9,7,56];

 Var result=arr.find(function(val,index){

     Return  val>10

})

Let arr=[9,16,-9,7,56];

  Ar result=arr.find(val=>val>10)

 3.2 findIndex(callback)  返回数组中第一个满足条件的元素的索引

 3.3 entries( )  帮助数组遍历每一个key值与value值

Let arr=[9,16,-9,7,56]

For(let[key,value]of arr.entries( )){

   Console.log(key,value);

}

3.4 keys( )  帮助数组遍历所有的key值

3.5 includes( )  检索数组是否包含某个值,返回布尔值

3.6 补充

Array.isArray(arr):true
false
 Filter(callback):过滤数组单元,将满足条件的元素过滤
Callback==>function(value,index){ }

自动将每一个元素放入callback中进行处理,如果返回值为true,元素放入新数组中,否则不操作。

形参value ,代表数组中的每一个值
形参index,代表数组中的每一个值的下标  
Map(callback):对数组进行遍历,将计算后的值返回新数组
calllback同上,不返回bool,返回具体值
Some(callback):对数组进行遍历,只要有一个满足条件,则返回true,不返回bool,返回具体值
Every(callback):对数组进行遍历,如果有一个不满足条件,则返回false,并终止遍历,否则返回true
 ForEach(callback):遍历数组  
无返回值
Reduce(function(preValue,nowValue,index,arrSelf){return preValue+nowValue):累加数组单元
preValue  上一个值
 nowValue  当前值
 Index   当前值下标
arrSelf   当前数组

   


四、对象的新增特性

1.属性及方法的简洁表示(key名与value名相同)

  Let name="ce"

  Let age=18;

//ES5

Var obj1={

Name:name,

Age:age,

Run:function( ){console.log(“快速跑!”)}

}

//ES6

Var obj2={

    Name,

    Age,

    Run( ){console.log(“快速跑!”)}

}

2.Object.js( )相当于全等但是也有区别

   Object.is(1,2)

   Object.is(NaN,NaN)

   Object.is(0,-0)

3.Object.assign(obj1,obj2,obj3)合并对象

   所有对象都会合并到obj1,如果是相同的属性,后边的对象的属性值会对前边的进行覆盖

4.Object.keys(obj)   

       将obj的key值返回一个纯属组

5.Object.values(obj)  

      将obj的value值返回一个纯属组

6.Object.entires(obj)   

      返回一个二维数组,每一个小数组都是一对[key,value]

五、SET数组结构

1.类似于数组,但是成员唯一,没有索引

2.var set=new Set(x)   x:数组,类数组,字符串

3.实现数组去重

 Let arr=[1,4,3,1,3,5,7];

 Let set=new Set(arr);

//let newArr-[...set];

 Let newArr=Array.from(set);

4.获取set的长度不是length而是size

5.方法:

     Add(x)

     Delete(x)  x不是索引,而是set中的具体的值

     Has(x)  验证是否存在,返回布尔值

     Clear( )  不需要参数,清除所有成员

6.可以使用for of 与forEach对set进行遍历

7.set.value( )==set.keys( )   set.entires( )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

羊️里个雲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值