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 函数replace深入了解
Mar 14 Javascript
探讨JQUERY JSON的反序列化类 using问题的解决方法
Dec 19 Javascript
jquery获取checkbox的值并post提交
Jan 14 Javascript
js实现用户离开页面前提示是否离开此页面的方法(包括浏览器按钮事件)
Jul 18 Javascript
BootStrap selectpicker
Jun 20 Javascript
JS实现pasteHTML兼容ie,firefox,chrome的方法
Jun 22 Javascript
js 提交form表单和设置form表单请求路径的实现方法
Oct 25 Javascript
js随机生成一个验证码
Jun 01 Javascript
bootstrap Table的一些小操作
Nov 01 Javascript
微信小程序实现购物车代码实例详解
Aug 29 Javascript
vue-cli3 引入 font-awesome的操作
Aug 11 Javascript
Vue仿百度搜索功能
Dec 28 Vue.js
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 魔术函数使用说明
2010/05/14 PHP
phpmyadmin安装时提示:Warning: require_once(./libraries/common.inc.php)错误解决办法
2011/08/18 PHP
Sublime里直接运行PHP配置方法
2014/11/28 PHP
php返回相对时间(如:20分钟前,3天前)的方法
2015/04/14 PHP
在javascript中随机数 math random如何生成指定范围数值的随机数
2015/10/21 Javascript
JS实现浏览器状态栏文字闪烁效果的方法
2015/10/27 Javascript
js实现内容显示并使用json传输数据
2016/03/16 Javascript
JavaScript中用let语句声明作用域的用法讲解
2016/05/20 Javascript
js中使用使用原型(prototype)定义方法的好处详解
2016/07/04 Javascript
jquery中用jsonp实现搜索框功能
2016/10/18 Javascript
jQuery学习之DOM节点的插入方法总结
2017/01/22 Javascript
JavaScript中无法通过div.style.left获取值的解决方法
2017/02/19 Javascript
JavaScript组件开发之输入框加候选框
2017/03/10 Javascript
webpack4的迁移的使用方法
2018/05/25 Javascript
详解基于vue-cli3.0如何构建功能完善的前端架子
2018/10/09 Javascript
基于vue实现圆形菜单栏组件
2019/07/05 Javascript
Python的ORM框架SQLAlchemy入门教程
2014/04/28 Python
Python中的列表知识点汇总
2015/04/14 Python
python3爬取数据至mysql的方法
2018/06/26 Python
Django框架使用内置方法实现登录功能详解
2019/06/12 Python
django与vue的完美结合_实现前后端的分离开发之后在整合的方法
2019/08/12 Python
Python TCP通信客户端服务端代码实例
2019/11/21 Python
python re模块匹配贪婪和非贪婪模式详解
2020/02/11 Python
浅谈Python的方法解析顺序(MRO)
2020/03/05 Python
解决redis与Python交互取出来的是bytes类型的问题
2020/07/16 Python
Python reques接口测试框架实现代码
2020/07/28 Python
英国和爱尔兰最大的地毯零售商:Kukoon
2018/12/17 全球购物
EMPHASIS艾斐诗官网:周生生旗下原创精品珠宝品牌
2020/12/17 全球购物
化工机械应届生求职信
2013/11/04 职场文书
营销专业应届生求职信
2013/11/26 职场文书
颁奖典礼主持词
2014/03/25 职场文书
住院医师规范化培训实施方案
2014/06/12 职场文书
学生安全责任书模板
2014/07/25 职场文书
门卫岗位职责
2015/02/09 职场文书
篮球赛新闻稿
2015/07/17 职场文书
浅谈自定义校验注解ConstraintValidator
2021/06/30 Java/Android