JavaScript中 ES6变量的结构赋值


Posted in Javascript onJuly 10, 2018

变量的结构赋值用户很多

1、交换变量的值

let x = 1;
let y = 2;
[x,y] = [y,x]

上面的代码交换变量x和变量y的值,这样的写法不仅简洁,易读,语义非常清晰

2、从函数返回多个值

函数只能返回一个值,如果要返回多个值,只能讲他们放在数组或者对象里返回。了解 解构赋值 ,取值这些值非常方便

//返回一个数组
function example(){
  return [1,2,3];
}
let [a,b,c] = example();
[a,b,c];  //[1,2,3]
//返回一个对象
function example(){
  return {
    foo:1,
    bar:2
  };
}
let {foo,bar} = example();
foo;  //1
bar;  //2

3、函数参数的定义

解构赋值可以方便的讲一组参数与变量名对应起来。

//参数是一组有次序的值
function f([x,y,z]){
  console.log(x,y,z);
}
f([1,2,3]); //1,2,3
//参数是一组无次序的值
function func({x,y,z}){
  console.log(x,y,z);
}
func({z:3,y:2,x:1}); //1,2,3

4、提取JSON数据

解构赋值对提取JSON对象中的数据尤其有用

let jsonData = {
  id:42,
  status:"OK",
  data:[123,456]       
} ;
let {id,status,data:number} = jsonData;
console.log(id,status,number);  //42 "OK" (2) [123, 456]

5、函数参数的默认值

、、、

6、遍历Map结构

任何部署了Iterator接口的对象都可以使用for... of循环遍历。Map结构原生支持Iterator接口,配合变量的解构赋值获取名和键值就非常方便。

var map = new Map();
map.set('first','hello');
map.set('second','world');

for(let [key,value] of map){
  console.log(key,value);
}

//first hello
//second world

如果只想获取键名,或者只想获取键值,可以这样写。

//获取键名
for(let [key] of map){
  console.log(key);
}

//first
//second
//获取键值
for(let [,value] of map){
  console.log(value);
}
//hello
//world

7、输入模块的指定方法

加载模块时,往往需要指定输入的方法。解构赋值使得输入语句非常清晰。

const {a,b} = require('source-map');

总结

以上所述是小编给大家介绍的JavaScript中 ES6变量的结构赋值,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Prototype1.5 rc2版指南最后一篇之Position
Jan 10 Javascript
JavaScript Title、alt提示(Tips)实现源码解读
Dec 12 Javascript
javascript动态添加、修改、删除对象的属性与方法详解
Jan 27 Javascript
前端必备神器 Snap.svg 弹动效果
Nov 10 Javascript
JavaScript通过事件代理高亮显示表格行的方法
May 27 Javascript
如何解决谷歌浏览器下jquery无法获取图片的尺寸
Sep 10 Javascript
jQuery+ajax简单实现文件上传的方法
Jun 03 Javascript
使用snowfall.jquery.js实现爱心满屏飞的效果
Jan 05 Javascript
JavaScript中双向数据绑定详解
May 03 Javascript
JS闭包原理与应用经典示例
Dec 20 Javascript
js实现GIF动图分解成多帧图片上传
Oct 24 Javascript
koa2的中间件功能及应用示例
Mar 05 Javascript
vue超时计算的组件实例代码
Jul 09 #Javascript
微信小程序自定义底部弹出框
Nov 16 #Javascript
详解vue中组件参数
Jul 09 #Javascript
微信小程序实现手指触摸画板
Jul 09 #Javascript
微信小程序canvas实现刮刮乐效果
Jul 09 #Javascript
vue用Object.defineProperty手写一个简单的双向绑定的示例
Jul 09 #Javascript
js中Object.defineProperty()方法的不详解
Jul 09 #Javascript
You might like
咖啡知识 除了喝咖啡还有那些知识点
2021/03/06 新手入门
COM in PHP (winows only)
2006/10/09 PHP
php查看请求头信息获取远程图片大小的方法分享
2013/12/25 PHP
火狐下table中创建form导致两个table之间出现空白
2013/09/02 Javascript
js识别不同浏览器基于userAgent做判断
2014/07/29 Javascript
JavaScript中计算网页中某个元素的位置
2015/06/10 Javascript
深入理解js promise chain
2016/05/05 Javascript
JavaScript鼠标特效大全
2016/09/13 Javascript
ES6新特征数字、数组、字符串
2016/10/01 Javascript
angularJS 指令封装回到顶部示例详解
2017/01/22 Javascript
关于JS与jQuery中的文档加载问题
2017/08/22 jQuery
JS实现的计数排序与基数排序算法示例
2017/12/04 Javascript
微信小程序实现顶部下拉菜单栏
2018/11/04 Javascript
JavaScript实现预览本地上传图片功能完整示例
2019/03/08 Javascript
微信小程序登录数据解密及状态维持实例详解
2019/05/06 Javascript
node 解析图片二维码的内容代码实例
2019/09/11 Javascript
浅谈vue 二级路由嵌套和二级路由高亮问题
2020/08/06 Javascript
vue表单验证之禁止input输入框输入空格
2020/12/03 Vue.js
[03:09]2014DOTA2国际邀请赛 Mushi前队友送上祝福
2014/07/12 DOTA
[01:22:29]真视界:2019年国际邀请赛总决赛
2020/01/29 DOTA
Python实现求解一元二次方程的方法示例
2018/06/20 Python
python实现泊松图像融合
2018/07/26 Python
python使用xlrd和xlwt读写Excel文件的实例代码
2018/09/05 Python
使用Python自动化破解自定义字体混淆信息的方法实例
2019/02/13 Python
python 寻找离散序列极值点的方法
2019/07/10 Python
Anaconda3+tensorflow2.0.0+PyCharm安装与环境搭建(图文)
2020/02/18 Python
python实现录屏功能(亲测好用)
2020/03/02 Python
进修护士自我鉴定
2013/10/14 职场文书
违反课堂纪律检讨书
2014/01/19 职场文书
技校毕业生自荐信范文
2014/03/07 职场文书
中学学校门卫岗位职责
2014/08/15 职场文书
高职教师先进事迹材料
2014/08/24 职场文书
无房证明范本
2014/09/17 职场文书
2015年采购员工作总结
2015/04/27 职场文书
幼儿园教师辞职信
2019/06/21 职场文书
默认网关不可用修复后过一会又不好使了解决方法
2022/04/08 数码科技