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 相关文章推荐
Mootools 1.2教程 选项卡效果(Tabs)
Sep 15 Javascript
利用jQuery中的ajax分页实现代码
Feb 25 Javascript
详解Jquery实现ready和bind事件
Apr 14 Javascript
KnockoutJS 3.X API 第四章之表单submit、enable、disable绑定
Oct 10 Javascript
d3.js实现简单的网络拓扑图实例代码
Nov 06 Javascript
js 递归和定时器的实例解析
Feb 03 Javascript
JavaScript判断变量名是否存在数组中的实例
Dec 28 Javascript
利用Vue2.x开发实现JSON树的方法
Jan 04 Javascript
JS使用百度地图API自动获取地址和经纬度操作示例
Apr 16 Javascript
详解如何在Vue项目中导出Excel
Apr 19 Javascript
node爬取新型冠状病毒的疫情实时动态
Feb 06 Javascript
js之ajax文件上传
May 13 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中for循环语句的几种变型
2007/03/16 PHP
用PHP生成html分页列表的代码
2007/03/18 PHP
几种有用的变型 PHP中循环语句的用法介绍
2012/01/30 PHP
php网站被挂木马后的修复方法总结
2014/11/06 PHP
jquery实现的超出屏幕时把固定层变为定位层的代码
2010/02/23 Javascript
各浏览器中querySelector和querySelectorAll的实现差异分析
2012/05/23 Javascript
Dom 学习总结以及实例的使用介绍
2013/04/24 Javascript
IE浏览器IFrame对象内存不释放问题解决方法
2014/08/22 Javascript
javascript的日期对象、数组对象、二维数组使用说明
2014/12/22 Javascript
jQuery使用之设置元素样式用法实例
2015/01/19 Javascript
jQuery实现分隔条左右拖动功能
2015/11/21 Javascript
JavaScript 基础函数_深入剖析变量和作用域
2016/05/18 Javascript
seajs模块之间依赖的加载以及模块的执行
2016/10/21 Javascript
H5移动端适配 Flexible方案
2016/10/24 Javascript
浅谈JavaScript的函数及作用域
2016/12/30 Javascript
Vue 源码分析之 Observer实现过程
2018/03/29 Javascript
jQuery实现监听下拉框选中内容发生改变操作示例
2018/07/13 jQuery
vue2.0 使用element-ui里的upload组件实现图片预览效果方法
2018/09/04 Javascript
vue基于element的区间选择组件
2018/09/07 Javascript
vue.js 2.*项目环境搭建、运行、打包发布的详细步骤
2019/05/01 Javascript
微信小程序实现购物车代码实例详解
2019/08/29 Javascript
vue-cli history模式实现tomcat部署报404的解决方式
2019/09/06 Javascript
React实现轮播效果
2020/08/25 Javascript
js实现电灯开关效果
2021/01/19 Javascript
下载给定网页上图片的方法
2014/02/18 Python
基于Python pip用国内镜像下载的方法
2018/06/12 Python
python3.6实现学生信息管理系统
2019/02/21 Python
python文本数据处理学习笔记详解
2019/06/17 Python
python文件读写代码实例
2019/10/21 Python
Django框架静态文件处理、中间件、上传文件操作实例详解
2020/02/29 Python
软件测试工程师笔试题带答案
2015/03/27 面试题
国际政治个人自荐信范文
2013/11/26 职场文书
小学教师师德反思
2014/02/03 职场文书
销售员岗位职责
2014/06/09 职场文书
公司财务会计主管应聘求职信
2014/09/26 职场文书
十个Python自动化常用操作,即拿即用
2021/05/10 Python