ES6新特性四:变量的解构赋值实例


Posted in Javascript onApril 21, 2017

本文实例讲述了ES6新特性之变量的解构赋值。分享给大家供大家参考,具体如下:

1. 数组的解构赋值

//① 可以从数组中提取值,按照对应位置,对变量赋值
var [a, b] = [1, 2]; //a = 1;b = 2
//② 下面是一些使用嵌套数组进行解构
var [d, [[c], f]] = [1, [[2], 3]];
var [,,third] = ["foo", "bar", "baz"];//third = "baz"
var [head, ...tail] = [1, 2, 3, 4];//head = 1;tail = [2, 3, 4]
//③不完全结构
var [x, y] = [1,2,6]; //x = 1;y = 2
//④ 解构赋值允许指定默认值
var [foo = true] = []; //foo = true
var [x, y='b'] = ['a'] // x='a', y='b'
var [x, y='b'] = ['a', undefined] // x='a', y='b'
//⑤ 解构不成功,变量的值就等于undefined
var [a6, a7] = [1]; //a7 = undefined

2. 对Set 的解构赋值

[a, b, c] = new Set(["a", "b", "c"])
console.log(a) // "a"

3. 对象的解构赋值

//对象的属性没有次序,变量必须与属性同名,才能取到正确的值
var { x, y } = { x: "aaa", y: "bbb" };//x = aaa, y = bbbb
var { c } = { a: "aaa", b: "bbb" }; // c = undefined
//严格遵守变量名与属性同名
var { d: e } = { d: "aaa", f: "bbb" }; //e = aaa
//指定默认值
var {x, y = 5} = {x: 1};// x = 1,y = 5

4. 用于遍历 Map

var map = new Map();
map.set('first', 'hello');
map.set('second', 'world');
//获取键值对
for (let [key,value] of map) {
  console.log(key + " is " + value);
}
// 获取键名
for (let [key] of map) {
  console.log(key);
}
// 获取值
for (let [,value] of map) {
  console.log(value);
}

希望本文所述对大家ECMAScript程序设计有所帮助。

Javascript 相关文章推荐
不错的asp中显示新闻的功能
Oct 13 Javascript
firefox中JS读取XML文件
Dec 21 Javascript
jquery下操作HTML控件的实现代码
Jan 12 Javascript
Jquery 获取对象的几种方式介绍
Jan 17 Javascript
js实现可得到不同颜色值的颜色选择器实例
Feb 28 Javascript
Angularjs单选改为多选的开发过程及问题解析
Feb 17 Javascript
jQuery Json数据格式排版高亮插件json-viewer.js使用方法详解
Jun 12 jQuery
详解基于vue-cli3.0如何构建功能完善的前端架子
Oct 09 Javascript
微信小程序自定义弹窗wcPop插件
Nov 19 Javascript
详解keep-alive + vuex 让缓存的页面灵活起来
Apr 19 Javascript
layui实现左侧菜单点击右侧内容区显示
Jul 26 Javascript
Vue使用axios引起的后台session不同操作
Aug 14 Javascript
jQuery+pjax简单示例汇总
Apr 21 #jQuery
利用n工具轻松管理Node.js的版本
Apr 21 #Javascript
基于jQuery实现文字打印动态效果
Apr 21 #jQuery
ES6新特性三: Generator(生成器)函数详解
Apr 21 #Javascript
Cookies 和 Session的详解及区别
Apr 21 #Javascript
node.js(express)中使用Jcrop进行图片剪切上传功能
Apr 21 #Javascript
原生javascript实现分页效果
Apr 21 #Javascript
You might like
一个php作的文本留言本的例子(二)
2006/10/09 PHP
Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
2006/11/18 PHP
php环境配置 php5 MySQL5 apache2 phpmyadmin安装与配置图文教程
2007/03/16 PHP
PHP模块memcached使用指南
2014/12/08 PHP
PHP之浮点数计算比较以及取整数不准确的解决办法
2015/07/29 PHP
jQuery学习笔记之DOM对象和jQuery对象
2010/12/22 Javascript
Java/JS获取flash高宽的具体方法
2013/12/27 Javascript
JS实现定时自动关闭DIV层提示框的方法
2015/05/11 Javascript
Jquery获取第一个子元素简单实例
2016/06/02 Javascript
jQuery动态增减行的实例代码解析(推荐)
2016/12/05 Javascript
在 Angular2 中实现自定义校验指令(确认密码)的方法
2017/01/23 Javascript
jquery实时获取时间的简单实例
2017/01/26 Javascript
微信小程序picker组件下拉框选择input输入框的实例
2017/09/20 Javascript
浅析node应用的timing-attack安全漏洞
2018/02/28 Javascript
vue-router权限控制(简单方式)
2018/10/29 Javascript
nodejs中实现用户注册路由功能
2019/05/20 NodeJs
[37:45]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS Orenda
2014/05/22 DOTA
[03:42]2016国际邀请赛中国区预选赛首日现场玩家采访
2016/06/26 DOTA
Python实现图像几何变换
2015/07/06 Python
Python字典,函数,全局变量代码解析
2017/12/18 Python
解决Mac安装scrapy失败的问题
2018/06/13 Python
详解python如何在django中为用户模型添加自定义权限
2018/10/15 Python
Django 简单实现分页与搜索功能的示例代码
2019/11/07 Python
Python参数传递实现过程及原理详解
2020/05/14 Python
Pycharm自带Git实现版本管理的方法步骤
2020/09/18 Python
Html5+CSS3+EL表达式问题小结
2020/12/19 HTML / CSS
ivx平台开发之不用代码实现一个九宫格抽奖功能
2021/01/27 HTML / CSS
澳大利亚百货商店中销量第一的商务衬衫品牌:Van Heusen
2018/07/26 全球购物
Nasty Gal英国:美国女性服饰销售网站
2021/03/02 全球购物
学生打架检讨书大全
2014/01/23 职场文书
绿色环保家庭事迹材料
2014/08/31 职场文书
人身意外保险授权委托书
2014/10/01 职场文书
2014员工聘用协议书(最新版)
2014/11/24 职场文书
教师个人成长总结
2015/02/11 职场文书
关于Nginx中虚拟主机的一些冷门知识小结
2022/03/03 Servers
一篇文章弄清楚Ajax请求的五个步骤
2022/03/17 Javascript