<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>[es6]-04-对象</title>
<script src="./js/browser.js"></script>
<script type="text/babel">
/*
* 对象的结构赋值
* 对象属性没有次序,所以变量名与属性同名才能取到正确值。
*/
var {bar,foo} = {"bar":1,"fooo":2};
console.log({bar,foo}); //同样,找不到的就是undefined //如果变量名与属性名不一致,必须写成下面的形式:
var {foo:baz} = {"foo":"aaa"};
console.log(baz); //aaa,类似数组,键就相当于数组的索引。 let obj = {"first":"hello","last":"world"};
let {first:f,last:l} = obj;
console.info(f,l)
// 下面的代码中,let命令下面的圆括号是必须的,否则会报错。解析器首先把他
//当做代码块,而不是赋值语句:
let fooo;
({fooo} = {"fooo":1});
console.info(fooo); //1 let声明,下面赋值 //对象的解构也可以设置默认值,支持嵌套:
var {x=3} = {};
console.info(x); //3
var {x,y=5} = {x:1};
console.info(x,y) //1 5
var {x:y=3} = {x:5};
console.info(y); //5 //默认值生效的条件是 对象的属性值严格等于undefined。
var {x=3} = {x:undefined};
console.info(x); //3
//对于已经声明的变量解构赋值,要带上圆括号:
var x;
({x} = {x:1})
console.info(x);
//对象的解构赋值,可以很方便的将现有对象上的方法,赋值到某个变量:
let {log,sin,cos} = Math;
console.log(log,sin,cos); //获取Math对象上的方法并赋值。
//由于数组本质上是特殊的对象,所以可以对数组进行对象属性的解构:
var arr = [1,2,3];
var {0:first,[arr.length-1]:last} = arr;
console.info(first,last); //1 3
</script>
</head>
<body>
</body>
</html>

依赖文件地址:https://github.com/chanceLe/ES6-Basic-Syntax/tree/master/js

最新文章

  1. Navicat for MySQL 工具注册码
  2. JavaWeb基础: ServletConfig
  3. C# string转int
  4. C#后台找不到前台html标签
  5. Json处理函数json_encode json_decode
  6. 富文本编辑器CKEDITOR的使用配置(问题注解)
  7. IE6双倍margin间距解决方法
  8. JavaScript发展史,与JScript差别,引入方式,数据类型,命名规范,命名推荐,解决命名冲突
  9. hdu2191 悼念512汶川大地震遇难同胞——珍惜如今,感恩生活
  10. struts2.1.6教程十、类型转换
  11. 翻译--Thinking in React
  12. 冲刺NO.2
  13. 20175213 2018-2019-2 《Java程序设计》第6周学习总结
  14. Could not install the app on the device, read the error above for details. Make sure you have an Android emulator running or a device connected and have set up your Android development environment:
  15. Workbook导出excel封装的工具类
  16. Java中菜单的实现以及画实线与画虚线之间的自由转化
  17. 网络爬虫之网站图片爬取-python实现
  18. Python中Queue模块及多线程使用
  19. devstack 部署 openstack(pick/mitaka)
  20. c# 把对象加入队列,对象为全局变量,对象改变队列值也跟着改变

热门文章

  1. NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象 - lady-奕奕的个人空间 - 开源中国社区
  2. x11vnc配置--ubuntu14.04
  3. android 热更新nuwa
  4. java web基础之mvc模式设计(一)--使用httpservlet实现mvc分层设计,DAO层使用的是dbutils实现与数据库的链接
  5. Back to December -- Taylor Swift
  6. AME
  7. Android实现带下划线的EditText(BUG修正)
  8. Net系列框架-Dapper+简单三层架构
  9. 开源一款强大的文件服务组件(QJ_FileCenter)(系列一)
  10. keil小技能随用随定义