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 相关文章推荐
jQuery 获取和设置select下拉框的值实现代码
Nov 08 Javascript
告诉你什么是javascript的回调函数
Sep 04 Javascript
JavaScript 监控微信浏览器且自带返回按钮时间
Nov 27 Javascript
js实现的简练高效拖拽功能示例
Dec 21 Javascript
Bootstrap模态窗口源码解析
Feb 08 Javascript
PHP实现本地图片上传和验证功能
Feb 27 Javascript
JS实现简单的天数计算器完整实例
Apr 28 Javascript
Angular2学习笔记之数据绑定的示例代码
Jan 03 Javascript
解决iview多表头动态更改列元素发生的错误的方法
Nov 02 Javascript
ES6 如何改变JS内置行为的代理与反射
Feb 11 Javascript
JS实现计算小于非负数n的素数的数量算法示例
Feb 26 Javascript
js字符串类型String常用操作实例总结
Jul 05 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
相对路径转化成绝对路径
2007/04/10 PHP
curl和libcurl的区别简介
2015/07/01 PHP
php的debug相关函数用法示例
2016/07/11 PHP
php array_reverse 以相反的顺序返回数组实例代码
2017/04/11 PHP
php使用gearman进行任务分发操作实例详解
2020/02/26 PHP
JavaScript的变量作用域深入理解
2009/10/25 Javascript
JS画5角星方法介绍
2013/09/17 Javascript
IE、FF浏览器下修改标签透明度
2014/01/28 Javascript
jquery trigger伪造a标签的click事件取代window.open方法
2014/06/23 Javascript
将数字转换成大写的人民币表达式的js函数
2014/09/21 Javascript
对JavaScript客户端应用编程的一些建议
2015/06/24 Javascript
JS仿淘宝实现的简单滑动门效果代码
2015/10/14 Javascript
jquery.validate提示错误信息位置方法
2016/01/22 Javascript
javascript 四十条常用技巧大全
2016/09/09 Javascript
AngularJS $injector 依赖注入详解
2016/09/14 Javascript
Node.js与Sails redis组件的使用教程
2017/02/14 Javascript
js/jq仿window文件夹框选操作插件
2017/03/08 Javascript
微信小程序实现顶部选项卡(swiper)
2020/06/19 Javascript
node内置调试方法总结
2018/02/22 Javascript
React中使用UEditor百度富文本的方法
2018/08/22 Javascript
element-ui组件中input等的change事件中传递自定义参数
2019/05/22 Javascript
基于ssm框架实现layui分页效果
2019/07/27 Javascript
Vue项目中使用jsonp抓取跨域数据的方法
2019/11/10 Javascript
element中el-container容器与div布局区分详解
2020/05/13 Javascript
python 定时修改数据库的示例代码
2018/04/08 Python
python实现傅里叶级数展开的实现
2018/07/21 Python
在cmder下安装ipython以及环境的搭建
2018/10/19 Python
解决Python中list里的中文输出到html模板里的问题
2018/12/17 Python
详解Python用三种方式统计词频的方法
2019/07/29 Python
python将数据插入数据库的代码分享
2020/08/16 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
2020/12/18 Python
劳资员岗位职责
2013/11/11 职场文书
农场厂长岗位职责
2013/12/28 职场文书
安全保证书格式
2015/02/28 职场文书
少先队中队工作总结
2015/08/14 职场文书
JVM钩子函数的使用场景详解
2021/08/23 Java/Android