ES6新特性之Object的变化分析


Posted in Javascript onMarch 31, 2017

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

Object的变化

1. ES6允许在对象中只写属性名,不写属性值,属性值为属性名对应的变量值

var a = 'hi';
var obj = {a};
console.log(obj); //Object {a: "hi"}

2.对象内方法的简写

var a = 'hi';
var obj = {
  name: 'ES6',
  a,
  sayHi(){
    console.log(this.a+' '+this.name);
  }
}
obj.sayHi(); //hi ES6

3.ES6允许字面量定义对象时用表达式作为对象的属性名

var a = 'b';
var obj = {
  [a]: 'ES6',
  ['c' + 'd']: 'hi'
}
console.log(obj); // Object {b: "ES6", cd: "hi"}

4.对象内方法名可以通过name访问

var a = 'hi';
var obj = {
  name: 'ES6',
  a,
  sayHi(){
    console.log(this.a+' '+this.name);
  }
}
obj.sayHi(); //hi ES6
console.log(obj.sayHi.name); //sayHi

5.Object.is()

用来比较两个值是否严格相等,与 ===  的区别在于, Object.is(NaN, NaN) 返回true,Object.is(+0, -0) 返回false。

6.Object.Assign()

用于将源对象的所有可枚举属性复制到目标对象上。

var obj_source_1 = {
  a: {
    a1: 'hi',
    a2: 'ES6'
  },
  b: 'hello'
}
var obj_source_2 = {
  c: 'ES2015',
}
var result = Object.assign({}, obj_source_1, obj_source_2);
console.log(result); //Object {a: Object, b: "hello", c: "ES2015"}

一般用法:为对象添加属性、方法,克隆对象,合并对象。

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

Javascript 相关文章推荐
JavaScript 入门基础知识 想学习js的朋友可以参考下
Dec 26 Javascript
JavaScript 浏览器验证代码(来自discuz)
Jul 17 Javascript
jQuery学习笔记(4)--Jquery中获取table中某列值的具体思路
Apr 10 Javascript
AngularJS使用ngOption实现下拉列表的实例代码
Jan 23 Javascript
精彩的Bootstrap案例分享 重点在注释!(选项卡、栅格布局)
Jul 01 Javascript
关于数据与后端进行交流匹配(点亮星星)
Aug 03 Javascript
利用Angularjs和原生JS分别实现动态效果的输入框
Sep 01 Javascript
Bootstrap文件上传组件之bootstrap fileinput
Nov 25 Javascript
JS简单获取当前日期时间的方法(如:2017-03-29 11:41:10 星期四)
Mar 29 Javascript
微信小程序实现下拉菜单切换效果
Mar 30 Javascript
通过实践编写优雅的JavaScript代码
May 30 Javascript
element-ui中Table表格省市区合并单元格的方法实现
Aug 07 Javascript
ES6新数据结构Set与WeakSet用法分析
Mar 31 #Javascript
ES6新数据结构Map功能与用法示例
Mar 31 #Javascript
基于AGS JS开发自定义贴图图层
Mar 31 #Javascript
Node.js使用Express创建Web项目详细教程
Mar 31 #Javascript
ES6使用let命令更简单的实现块级作用域实例分析
Mar 31 #Javascript
JS解决移动web开发手机输入框弹出的问题
Mar 31 #Javascript
详解使用JS如何制作简单的ASCII图与单极图
Mar 31 #Javascript
You might like
用缓存实现静态页面的测试
2006/12/06 PHP
php md5下16位和32位的实现代码
2008/04/09 PHP
php中的观察者模式
2010/03/24 PHP
PHP解析html类库simple_html_dom的转码bug
2014/05/22 PHP
Yii2框架BootStrap样式的深入理解
2016/11/07 PHP
Yii框架模拟组件调用注入示例
2019/11/11 PHP
javascript操作cookie_获取与修改代码
2009/05/21 Javascript
关于UTF-8的客户端用AJAX方式获取GB2312的服务器端乱码问题的解决办法
2010/11/30 Javascript
jQuery EasyUI API 中文文档 - Panel面板
2011/09/30 Javascript
分享一个asp.net pager分页控件
2012/01/04 Javascript
Js实现双击鼠标自动滚动屏幕的示例代码
2013/12/14 Javascript
document节点对象的获取方式示例介绍
2013/12/24 Javascript
使用jQuery判断Div是否在可视区域的方法 判断div是否可见
2016/02/17 Javascript
分享12个实用的jQuery代码片段
2016/03/09 Javascript
通过Tabs方法基于easyUI+bootstrap制作工作站
2016/03/28 Javascript
jquery取消事件冒泡的三种方法(推荐)
2016/05/28 Javascript
js不间断滚动的简单实现
2016/06/03 Javascript
AngularJS 入门教程之HTML DOM实例详解
2016/07/28 Javascript
vue移动端实现手机左右滑动入场动画
2020/06/17 Javascript
mpvue微信小程序开发之实现一个弹幕评论
2019/11/24 Javascript
小程序双头slider选择器的实现示例
2020/03/31 Javascript
python中根据字符串调用函数的实现方法
2016/06/12 Python
浅析使用Python操作文件
2017/07/31 Python
Python Socket编程之多线程聊天室
2018/07/28 Python
python requests更换代理适用于IP频率限制的方法
2019/08/21 Python
python实现FTP循环上传文件
2020/03/20 Python
python中实现栈的三种方法
2020/12/19 Python
详解CSS3的opacity属性设置透明效果的用法
2016/05/09 HTML / CSS
管理心得体会
2013/12/28 职场文书
中文专业自荐书
2014/06/29 职场文书
校园安全广播稿范文
2014/09/25 职场文书
2014年后勤工作总结范文
2014/12/16 职场文书
2015年学校教科室工作总结
2015/07/20 职场文书
JavaScript实现班级抽签小程序
2021/05/19 Javascript
Go语言实现一个简单的并发聊天室的项目实战
2022/03/18 Golang
Python+Matplotlib图像上指定坐标的位置添加文本标签与注释
2022/04/11 Python