<!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

ES6-Object的更多相关文章

  1. es6 Object.assign

    ES6 Object.assign 一.基本用法 Object.assign方法用来将源对象(source)的所有可枚举属性,复制到目标对象(target).它至少需要两个对象作为参数,第一个参数是目 ...

  2. es6 Object.assign ECMAScript 6 笔记(六) ECMAScript 6 笔记(一) react入门——慕课网笔记 jquery中动态新增的元素节点无法触发事件解决办法 响应式图像 弹窗细节 微信浏览器——返回操作 Float 的那些事 Flex布局 HTML5 data-* 自定义属性 参数传递的四种形式

    es6 Object.assign   目录 一.基本用法 二.用途 1. 为对象添加属性 2. 为对象添加方法 3. 克隆对象 4. 合并多个对象 5. 为属性指定默认值 三.浏览器支持 ES6 O ...

  3. js es6 Object.freeze

    将对象冻结,使用Object.freeze方法 const foo = Object.freeze({}); // 常规模式时,下面一行不起作用: // 严格模式时,该行会报错 foo.prop = ...

  4. es6 Object对象扩展新方法

    ES6给Object拓展了许多新的方法,如: keys(obj):获取对象的所有key形成的数组     var obj = { foo: 'bar', baz: 42 };  Object.keys ...

  5. [ES6] Object.assign (with defaults value object)

    function spinner(target, options = {}){ let defaults = { message: "Please wait", spinningS ...

  6. es6 Object的几个新方法

    扩展对象 Object.preventExtensions Object.isExtensible 密封对象 Object.seal Object.isSealed 冻结对象 Object.freez ...

  7. es6 Object 数据属性和访问器属性

    原文 :http://www.jb51.net/article/91698.htm 总结 ES5提供了Object.getOwnPropertyDescripter()方法来获取给定属性的描述符. p ...

  8. es6 Object.assign(target, ...sources)

    Object.assign() 方法用于将所有可枚举属性(对象属性)的值从一个或多个源对象复制到目标对象.它将返回目标对象. 语法 Object.assign(target, ...sources) ...

  9. ES6 Object.setPrototypeOf ()方法和defineProperty()方法的使用

    将一个指定的对象的原型设置为另一个对象或者null(既对象的[[Prototype]]内部属性). 示例: <script type="text/javascript"> ...

  10. ES6 object.defineProperty

    Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象. Object.defineProperty(obj, prop, ...

随机推荐

  1. (KMP 字符串处理)Substrings -- hdu -- 1238

    http://acm.hdu.edu.cn/showproblem.php?pid=1238 Substrings Time Limit:1000MS     Memory Limit:32768KB ...

  2. Postman - 測試 API 的好工具

    POSTMAN in Google APP Store 因為工作的關係,常常寫一些 API 供 APP 使用.以前傻傻的,每次測試的時候都會自己刻一個 HTML 的表單,一個一個填入 input ,接 ...

  3. 虚拟化之Xen简介

    1>相关知识简介: 1>常用的磁盘IO调度器: CFQ:完全公平队列算法: deadline:最后期限算法: anticipatory:顺序读写队列算法/预期算法: NOOP:no  op ...

  4. JavaScript中Ajax的使用

    AJAX全称为“Asynchronous javascript and XML”(异步javascript和XML),是指一种创建交互式网页应用的网页开发技术.通过在后台与服务器进行少量数据交换,AJ ...

  5. [ACM_数据结构] Color the ball [线段树水题][数组开大]

    Description N个气球排成一排,从左到右依次编号为1,2,3....N.每次给定2个整数a b(a <= b),lele便为骑上他的“小飞鸽"牌电动车从气球a开始到气球b依次 ...

  6. MVC4 项目开发日志(1)

    最近一直在定义一个功能全面,层次结构分明的框架.一边学习一边应用.

  7. asp.net MVC 统计在线人数功能实现

    今天开发一个设计一个统计在线人数的统计.实现方式是在MVC 中,用户次执行一个Action请求完成后,向数据表中插入一条用户心跳记录,统计在线人数则是根据该记录,30分钟内有记录的用户则为在线状态. ...

  8. 使用cropper插件进行图片裁剪 并上传

    cropper插件的使用和 github地址: github 官方实例 我参考的中文文档: https://www.cnblogs.com/baka-sky/p/8001577.html 因为我是.n ...

  9. BootStrap 4正式版发布(原文翻译)

    原文链接:http://blog.getbootstrap.com/2018/01/18/bootstrap-4/ 关于Bootstrap 什么是Bootstrap Bootstrap,来自 Twit ...

  10. Python 将字典的元素按照键或者值的大小进行排序

    在开发的过程中有时遇到这样的需求,一个字典里保存了一份完整的数据,其中键是一个id,值是时间,需要获取最新的5条数据,处理方式如下: 假设字典数据的变量名为my_dict data_list = so ...