ES6解构
2024-09-04 19:45:18
解构:“解开--重构”
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);
最新文章
- 从零点壹开始学JAVA(DAY 1 笔记)<;补充记录>;
- Servlet的配置
- js 上传文件后缀名的判断 var flag=false;应用
- Project Settings ->; Editor 设置详解
- IOC使用Unity 实现依赖注入
- NopCommerce Html扩展方法Html.Widget
- shell中使用sqlplus及调试相关
- SQL中如何使用EXISTS替代IN
- linux系统下C语言调用lapack ,blas库
- Python day 6(5) Python 函数式编程3
- kudu系列: Java API使用和效率测试
- LDO和DC-DC的概念,区别及优缺点
- 筛选BETWEEN &#39;2018-1-1 00:00:00&#39; AND &#39;2018-5-18 00:00:00&#39;每日`status`=&#39;1&#39;的记录总条数
- Win10系列:JavaScript访问文件和文件夹
- 学JS的心路历程 - PixiJS -基础(三)
- POJ1195--Mobile phones(基础二维BIT)
- 『实践』Yalmip+Ipopt+Cplex使用手册
- HEOI2018翻盘记
- VC++ 学习笔记2 列表框添加字符串
- 《剑指offer》第八题(重要!查找二叉树的中序遍历的下一个结点)
热门文章
- linux python2.6升级2.7
- python面试题之阅读下面的代码,它的输出结果是什么?
- [ACM] POJ 1218 THE DRUNK JAILER (关灯问题)
- C#关键字扫盲——Tuple(元组类) 、ValueTuple(值元组)
- 看过这些我明白了依赖注入及IoC
- js canvas 粒子动画 电子表
- 【记录】Swagger2 注解说明
- C#开发activex
- ubuntu:beyond compare 4 This license key has been revoked 解决办法
- 前后端分离进行权限管理之后端API返回菜单及权限信息(三)