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 相关文章推荐
iframe 自适应高度[在IE6 IE7 FF下测试通过]
Apr 13 Javascript
JSON 学习之JSON in JavaScript详细使用说明
Feb 23 Javascript
jQuery each()小议
Mar 18 Javascript
使用node.js半年来总结的 10 条经验
Aug 18 Javascript
jQuery中get()方法用法实例
Dec 27 Javascript
JavaScript中获取时间的函数集
Aug 16 Javascript
JavaScript注册时密码强度校验代码
Jun 30 Javascript
jQuery扩展_动力节点Java学院整理
Jul 05 jQuery
vue 2.0封装model组件的方法
Aug 03 Javascript
element-ui 表格数据时间格式化的方法
Aug 24 Javascript
Vue自定义组件的四种方式示例详解
Feb 28 Javascript
vue单文件组件无法获取$refs的问题
Jun 24 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
Yii使用migrate命令执行sql语句的方法
2016/03/15 PHP
php中namespace及use用法分析
2016/12/06 PHP
基于jQuery的history历史记录插件
2010/12/11 Javascript
JavaScript起点(严格模式深度了解)
2013/01/28 Javascript
js 编码转换 gb2312 和 utf8 互转的2种方法
2013/08/07 Javascript
javascript字符串替换及字符串分割示例代码
2013/12/12 Javascript
iframe父页面获取子页面参数的方法
2014/02/21 Javascript
JavaScript也谈内存优化
2014/06/06 Javascript
jQuery中的read和JavaScript中的onload函数的区别
2014/08/27 Javascript
AngularJs Javascript MVC 框架
2016/06/20 Javascript
JavaScript中捕获/阻止捕获、冒泡/阻止冒泡方法
2016/12/07 Javascript
JS实现复制内容到剪贴板功能
2017/02/05 Javascript
JavaScript实现QQ聊天消息展示和评论提交功能
2017/05/22 Javascript
angular directive的简单使用总结
2017/05/24 Javascript
详解基于webpack2.x的vue2.x的多页面站点
2017/08/21 Javascript
vue路由组件按需加载的几种方法小结
2018/07/12 Javascript
Promise.all中对于reject的处理方法
2018/08/01 Javascript
详解vuex中action何时完成以及如何正确调用dispatch的思考
2019/01/21 Javascript
webpack4 optimization使用总结
2019/11/10 Javascript
JS三级联动代码格式实例详解
2019/12/30 Javascript
Antd的table组件表格的序号自增操作
2020/10/27 Javascript
在Python中操作文件之seek()方法的使用教程
2015/05/24 Python
Python MySQL数据库连接池组件pymysqlpool详解
2017/07/07 Python
用python实现的线程池实例代码
2018/01/06 Python
解决python3运行selenium下HTMLTestRunner报错的问题
2018/12/27 Python
基于python的ini配置文件操作工具类
2019/04/24 Python
使用python远程操作linux过程解析
2019/12/04 Python
python的列表List求均值和中位数实例
2020/03/03 Python
x-ua-compatible content=”IE=7, IE=9″意思理解
2013/07/22 HTML / CSS
科颜氏法国官网:Kiehl’s法国
2019/08/20 全球购物
颇特女士香港官网:NET-A-PORTER香港
2021/03/08 全球购物
行政人事经理职位说明书
2014/03/05 职场文书
大学生学习2014全国两会心得体会
2014/03/13 职场文书
节约用电倡议书
2015/04/28 职场文书
小学推普周活动总结
2015/05/07 职场文书
spring cloud gateway中如何读取请求参数
2021/07/15 Java/Android