解构:“解开--重构”

1.数组的解构:

 //数组的解构;
// let arr=[1,2,3,6]
// let[a,b,c,d]=arr;
// console.log(a,b,c,d)// 1,2,3,6
!!伪数组也可以进行解构,如获取得DOM节点(就是一个伪数组)

2.对象的解构:

//对象的解构;
// let obj={
// name:'gbb',
// age:89,
// }
// let{name,age}=obj;
// console.log(name,age) gbb 89

3.复杂对象的解构:

复杂对象的解构;
let obj={
name:'gbb',
age:89,
obj1:{
sex:'nan',
height:175,
}
} let{name,age,obj1:{sex,height}}=obj;
console.log(name,age,sex,height)

//注:等号右侧如果不能进行遍历,都不能解构。

let [a] = 10;
let [a] = null;
let [a] = true
let [a] = false;
let [a] = undefined;
let [c] = NaN;

let [a] = [] //返回的为undefined
let {a} = {} //返回的为undefined

4.扩展运算符:...

... 的作用:

a:对函数的参数进行解构;(函数的所传参数不确定)

function fn(...num){
console.log(num) //[1,3,5,9]
}
let arr=[1,3,5,9];
fn(...arr);

b:对象进行合并:

var obj1={
name:'nana',
age:66,
}
var obj2={
sex:'nan',
height:15,
name:'会不会覆盖了?' //相同属性将会被覆盖!!
}
var obj3={...obj1,...obj2};
console.log(obj1,obj2,obj3)

c: 对其他数据的保存:

function fn(a,b,...c){
console.log(c); //3,4,5,6 将不确定的数据保存
}
fn(1,2,3,4,5,6);

eg:

1、交换两个变量的值
    var a = 10;
    var b = 20;
    var [a,b] = [b,a];
    console.log(a);

最新文章

  1. 从零点壹开始学JAVA(DAY 1 笔记)<补充记录>
  2. Servlet的配置
  3. js 上传文件后缀名的判断 var flag=false;应用
  4. Project Settings -> Editor 设置详解
  5. IOC使用Unity 实现依赖注入
  6. NopCommerce Html扩展方法Html.Widget
  7. shell中使用sqlplus及调试相关
  8. SQL中如何使用EXISTS替代IN
  9. linux系统下C语言调用lapack ,blas库
  10. Python day 6(5) Python 函数式编程3
  11. kudu系列: Java API使用和效率测试
  12. LDO和DC-DC的概念,区别及优缺点
  13. 筛选BETWEEN '2018-1-1 00:00:00' AND '2018-5-18 00:00:00'每日`status`='1'的记录总条数
  14. Win10系列:JavaScript访问文件和文件夹
  15. 学JS的心路历程 - PixiJS -基础(三)
  16. POJ1195--Mobile phones(基础二维BIT)
  17. 『实践』Yalmip+Ipopt+Cplex使用手册
  18. HEOI2018翻盘记
  19. VC++ 学习笔记2 列表框添加字符串
  20. 《剑指offer》第八题(重要!查找二叉树的中序遍历的下一个结点)

热门文章

  1. linux python2.6升级2.7
  2. python面试题之阅读下面的代码,它的输出结果是什么?
  3. [ACM] POJ 1218 THE DRUNK JAILER (关灯问题)
  4. C#关键字扫盲——Tuple(元组类) 、ValueTuple(值元组)
  5. 看过这些我明白了依赖注入及IoC
  6. js canvas 粒子动画 电子表
  7. 【记录】Swagger2 注解说明
  8. C#开发activex
  9. ubuntu:beyond compare 4 This license key has been revoked 解决办法
  10. 前后端分离进行权限管理之后端API返回菜单及权限信息(三)