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 相关文章推荐
JS 页面内容搜索,类似于 Ctrl+F功能的实现代码
Aug 13 Javascript
Javascript调用C#代码
Jan 17 Javascript
Firefox/Chrome/Safari的中可直接使用$/$$函数进行调试
Feb 13 Javascript
Javascript中的默认参数详解
Oct 22 Javascript
jQuery使用after()方法在元素后面添加多项内容的方法
Mar 26 Javascript
浅析javascript的return语句
Dec 15 Javascript
ReactJs快速入门教程(精华版)
Nov 28 Javascript
微信扫码支付零云插件版实例详解
Apr 26 Javascript
javascript将json格式数组下载为excel表格的方法
Dec 22 Javascript
JS/jQuery实现简单的开关灯效果【案例】
Feb 19 jQuery
基于Element的组件改造的树形选择器(树形下拉框)
Feb 27 Javascript
JavaScript枚举选择jquery插件代码实例
Nov 17 jQuery
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
laravel开发环境homestead搭建过程详解
2020/07/03 PHP
地震发生中逃生十大法则
2008/05/12 Javascript
jquery中eq和get的区别与使用方法
2011/04/14 Javascript
浅谈Javascript中的Function与Object
2015/01/26 Javascript
javascript原型链继承用法实例分析
2015/01/28 Javascript
深入理解AngularJS中的ng-bind-html指令和$sce服务
2016/09/08 Javascript
Bootstrap CSS组件之分页(pagination)和翻页(pager)
2016/12/17 Javascript
Express框架之connect-flash详解
2017/05/31 Javascript
解决vue-cli中stylus无法使用的问题方法
2017/06/19 Javascript
jQuery实现的鼠标拖动浮层功能示例【拖动div等任何标签】
2018/12/29 jQuery
弱类型语言javascript开发中的一些坑实例小结【变量、函数、数组、对象、作用域等】
2019/08/07 Javascript
在layui框架中select下拉框监听更改事件的例子
2019/09/20 Javascript
vue等两个接口都返回结果再执行下一步的实例
2020/09/08 Javascript
深入了解Vue动态组件和异步组件
2021/01/26 Vue.js
Python实现Logger打印功能的方法详解
2017/09/01 Python
python基础学习之如何对元组各个元素进行命名详解
2018/07/12 Python
Python实现简单石头剪刀布游戏
2021/01/20 Python
详解Python3中ceil()函数用法
2019/02/19 Python
python基于paramiko将文件上传到服务器代码实现
2019/07/08 Python
如何使用Python自动控制windows桌面
2019/07/11 Python
Python下opencv图像阈值处理的使用笔记
2019/08/04 Python
python传到前端的数据,双引号被转义的问题
2020/04/03 Python
jupyter notebook读取/导出文件/图片实例
2020/04/16 Python
canvas如何绘制钟表的方法
2017/12/13 HTML / CSS
报纸媒体创意广告词
2014/03/17 职场文书
商场促销活动策划方案
2014/08/18 职场文书
公司给客户的感谢信
2015/01/23 职场文书
荆州古城导游词
2015/02/06 职场文书
婚宴领导致辞
2015/07/28 职场文书
给校长的建议书作文300字
2015/09/14 职场文书
《中彩那天》教学反思
2016/02/24 职场文书
商业计划书范文
2019/04/24 职场文书
nginx location优先级的深入讲解
2021/03/31 Servers
python 实现两个变量值进行交换的n种操作
2021/06/02 Python
Python 阶乘详解
2021/10/05 Python
css让页脚保持在底部位置的四种方案
2022/07/23 HTML / CSS