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 相关文章推荐
JAVASCRIPT下判断IE与FF的比较简单的方式
Oct 17 Javascript
document.createElement()用法及注意事项(ff下不兼容)
Mar 13 Javascript
Javascript基础 函数“重载” 详细介绍
Oct 25 Javascript
javascript操作table(insertRow,deleteRow,insertCell,deleteCell方法详解)
Dec 16 Javascript
Jquery仿IGoogle实现可拖动窗口示例代码
Aug 22 Javascript
jQuery垂直多级导航菜单代码分享
Aug 18 Javascript
详解Vue 事件驱动和依赖追踪
Apr 22 Javascript
JavaScript程序设计高级算法之动态规划实例分析
Nov 24 Javascript
Vue打包后出现一些map文件的解决方法
Feb 13 Javascript
解决Mac安装thrift因bison报错的问题
May 17 Javascript
微信小程序显示倒计时功能示例【测试可用】
Dec 03 Javascript
js实现碰撞检测
Jan 29 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
PHP 彩色文字实现代码
2009/06/29 PHP
PHP网站开发中常用的8个小技巧
2015/02/13 PHP
php实现格式化多行文本为Js可用格式
2015/04/15 PHP
jQuery实现长文字部分显示代码
2013/05/13 Javascript
JQuery页面的表格数据的增加与分页的实现
2013/12/10 Javascript
jQuery判断当前点击的是第几个li的代码
2014/09/26 Javascript
node.js中的buffer.fill方法使用说明
2014/12/14 Javascript
Nodejs中调用系统命令、Shell脚本和Python脚本的方法和实例
2015/01/01 NodeJs
js下将金额数字每三位一逗号分隔
2016/02/19 Javascript
jquery自定义右键菜单、全选、不连续选择
2016/03/01 Javascript
第六篇Bootstrap表格样式介绍
2016/06/21 Javascript
微信小程序开发实战教程之手势解锁
2016/11/18 Javascript
axios基本入门用法教程
2017/03/25 Javascript
JS实现留言板功能
2017/06/17 Javascript
JavaScript实现设置默认日期范围为最近40天的方法分析
2017/07/12 Javascript
Node.js五大应用性能技巧小结(必须收藏)
2017/08/09 Javascript
JavaScript实现删除数组重复元素的5种常用高效算法总结
2018/01/18 Javascript
jQuery实现获取选中复选框的值实例详解
2018/06/28 jQuery
解决Vue+Element ui开发中碰到的IE问题
2018/09/03 Javascript
我要点爆”微信小程序云开发之项目建立与我的页面功能实现
2019/05/26 Javascript
python列出目录下指定文件与子目录的方法
2015/07/03 Python
对numpy中的数组条件筛选功能详解
2018/07/02 Python
浅谈python实现Google翻译PDF,解决换行的问题
2018/11/28 Python
Python 编程速成(推荐)
2019/04/15 Python
Python+PyQT5的子线程更新UI界面的实例
2019/06/14 Python
Python实现搜索算法的实例代码
2020/01/02 Python
如何通过Python3和ssl实现加密通信功能
2020/05/09 Python
在tensorflow实现直接读取网络的参数(weight and bias)的值
2020/06/24 Python
机械工程系毕业生求职信
2013/09/27 职场文书
国际经济与贸易专业大学生职业规划书
2014/03/01 职场文书
企业务虚会发言材料
2014/10/20 职场文书
2015年出纳个人工作总结
2015/04/02 职场文书
班干部竞选演讲稿(精选5篇)
2019/09/24 职场文书
Spring boot应用启动后首次访问很慢的解决方案
2021/06/23 Java/Android
Python matplotlib可视化之绘制韦恩图
2022/02/24 Python
利用Python实时获取steam特惠游戏数据
2022/06/25 Python