ES6总结2-解构赋值

ES6学习总结是自己在学习过程中的总结,记笔记就是为了督促自己学习和复习,好记性不如烂笔头。如果有错误,感谢指出。

解构赋值

简单地理解:左边一种结构,右边一种结构,一一对应,进行赋值

解构赋值的分类

  1. 数组解构赋值**
  2. 对象解构赋值**
  3. 字符串解构赋值
  4. 布尔值解构赋值
  5. 函数参数解构赋值
  6. 数值解构赋值

12两边一样为数组或对象,重要

3左边数组,右边字符串

46属于2的一种

5是1的一种应用

数组解构赋值

基本使用方法
{
  let  a,b,rest;
  [a,b]=[1,2];//数组解构赋值
  console.log(a,b)//1 2
}
{
  let  a,b,rest;
  [a,b,...rest]=[1,2,3,4,5,6]//数组解构赋值
  console.log(a,b,rest)//1 2 [3,4,5,6]
}
{
  let a,b,c,rest;
  [a,b,c=3]=[1,2]
  console.log(a,b,c)//1 2 3
}
默认值
//默认值
{
  let a,b,c,rest;
  [a,b,c]=[1,2]
  console.log(a,b,c)//1 2 undefind
}
使用场景1:变量交换
{
  let a=1;
  let b=2;
  [a,b]=[b,a]//变量交换 
}
使用场景2:对函数返回值直接提取

没有解构赋值 需要先取出结果 然后通过索引来进行取出

{
  function f(){
    return [1,2]
  }
  let a,b;
  [a,b]=f();
  console.log(a,b);
}
使用场景3:取出返回结果的某些需要的值
{
  function f(){
    return [1,2,3,4,5]
  }
  let a,b,c;
  [a,,,b]=f();
  console.log(a,b); // 输出1 4
}
使用场景4:未知数组长度赋值
{
  function f(){
    return [1,2,3,4,5]
  }
  let a,b,c;
  [a,...b]=f();
  console.log(a,b);//输出1,[2,3,4,5]
}

对象解构赋值

基本使用方法
{
  let o={p:42,q:true};
  let {p,q}=o;
  console.log(p,q);//42 true
}
默认值
{
  let {a=10,b=5}={a:3};
  console.log(a,b);//输出3 5
}
使用场景:json对象的解构赋值
{
  let metaData={
    title:'abc',
    test:[{
      title:'test',
      desc:'description'
    }]
  }
  let {title:esTitle,test:[{title:cnTitle}]}=metaData;
  console.log(esTitle,cnTitle);//abc test 
}










































©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.数组的解构赋值 2.对象的解构赋值 3.字符串的解构赋值 4.数值和布尔值的解构赋值 5.函数参数的解构赋值 ...
    卞卞村长L阅读 4,392评论 0 0
  • 前面的话 我们经常定义许多对象和数组,然后有组织地从中提取相关的信息片段。在ES6中添加了可以简化这种任务的新特性...
    sunnyghx阅读 4,106评论 0 0
  • 前面的话   我们经常定义许多对象和数组,然后有组织地从中提取相关的信息片段。在ES6中添加了可以简化这种任务的新...
    CodeMT阅读 3,424评论 0 0
  • 数组的解构赋值 基本用法 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destru...
    陈老板_阅读 2,900评论 0 0
  • 2014年加入支教团,我参加的支教团不是那种去偏远山区的,是在上海郊区为一所民工子弟学校的孩子上一些课外辅导课,时...
    米小味阅读 4,346评论 1 10

友情链接更多精彩内容