ECMAScript6基础语法

115 阅读3分钟
  • 解构赋值
  • 扩展运算符
  • Array.from()
  • 属性的遍历
  • 对象新增的方法

1、解构赋值

概念:解构赋值主要是针对于数组和对象的:真是项目中,一般常用于把服务器获取的json数据进行快速解构,赋值给对应的变量,帮助我们快速那拿到对应的结果

1.1数组解构赋值

  • 例一:给数组赋值
        let arr=[10,20,30,40];
       //把arr数组的赋值
        let [a,b,c,d]=arr;
        console.log(a,b,c,d);  //10,20,30,30
        
  • 例二:获取一个值或者最后一个值
let arr=[10,20,30,40];
let [a,,,b]=arr;
console.log(a,b);   //10 40
  • 例三:获取一个值
let arr=[10,20,30,40];
let [a]=arr;
console.log(a);   //10
  • 例四:获取最后一个值
let arr=[10,20,30,40];
let [a]=arr.reverse();
console.log(a);  //40
  • 例五:赋值默认值
let arr=[10,20,30,40];
let [a,b=0]=arr;
console.log(a,b=0); 
  • 例六:a/b互换值
//第一种方法
 let a=10;
     b=20;
 let c=a;
     a=b;
     b=c;
 console.log(a,b);  //20,10
 
 //第二种方法
 let a=10,
     b=20;
[b,a]=[10,20];      //20,10

1.2对象解构赋值

对象解构赋值:创建的变量名需要和属性名保持一致

<script>
       let obj={
           id:1,
           name:'我爱学习',
           age:10
       }
       let{
           id,
           name,
           sex
       }=obj;
       console.log(id,name,sex);  //1 我爱学习" undefined
   </script>
 let data=[{
           id:1,
           name:'珠峰培训'
       },{
           id:2,
           name:'周啸天'
       }]
       let str=``;
       data.forEach(({
           id,name
       })=>{
           str+=`<div>
               <span>${id}</span>
               <span>${name}</span>
               </div>`
       })

2、扩展运算符

  • 1.扩展运算符 let [...arr]=[10,20,30,40];
  • 2.剩余运算符 函数的形参赋值上
//剩余运算符
 <script>
        /*...运算符 */
        let fn=(n,...m)=>{
            // 箭头函数中没有arguments
            console.log(n,m);
        }
        fn(10,20,30,40)
    </script>
  • 3.展开运算符 展开数组或者对象中的每一项
   // 数组克隆(展开运算符)
        let arr1=[10,20,30]
        let arr2=[...arr1];
        fn.call(obj,...arr1); //fn(10,20,30)

3、Array.from()

  • Array.from()把一个类数组集合(set集合)转换为数组

  • Array.of把一组值转换为数组 Es5Array常用的一个方法:Array.isArray()验证是否伪数组

Array.prototype新增的方法

  • new Array(3).fill(null) 创建集合长度为3,每一项都填充为null
  • flat()数组扁平化
  • find/findIdex =>数组的遍历迭代方法 forEach/map/filter/find/some/every/reduce...

4、属性的遍历

ES6一共有5种方法可以遍历对象的属性

1.for...in

for...in循环遍历对象自身的和继承的可枚举(不含symbol属性)

2.Object.keys(obj)

Object.keys返回一个数组,包括对象自身属性(不含symbol属性)的键名

5、对象新增的方法

  • Object.assign([obj1],[obj2])合并对象,把[obj2]的信息替换[obj1]
  • Object.create()创建一个空对象,让其__proto__指向obj
  • Object.defineProperty([obj],[key],[options])监听一个对象某个属性的处理操作
  • Object.entries([obj])获取一个对象的所有的键值对
  • Object.keys([obj])
  • Object.values([obj])
  • Object.freeze([obj])冻结对象,让其所有操作都不能进行