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 相关文章推荐
[原创]来自ImageSee官方 JavaScript图片浏览器
Jan 16 Javascript
div+css布局的图片连续滚动js实现代码
May 04 Javascript
仅Firefox中链接A无法实现模拟点击以触发其默认行为
Jul 31 Javascript
什么是DOM(Document Object Model)文档对象模型
Mar 05 Javascript
JavaScript中的style.display属性操作
Mar 27 Javascript
弹出最简单的模式化遮罩层的js代码
Dec 04 Javascript
Javascript 按位与运算符 (&)使用介绍
Feb 04 Javascript
node.js中RPC(远程过程调用)的实现原理介绍
Dec 05 Javascript
Bootstrap的popover(弹出框)2秒后定时消失的实现代码
Feb 27 Javascript
javascript 开发之百度地图使用到的js函数整理
May 19 Javascript
video.js添加自定义组件的方法
Dec 09 Javascript
微信小程序实现购物车小功能
Dec 30 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
百事可乐也出咖啡了 双倍咖啡因双倍快乐
2021/03/03 咖啡文化
mysql 中InnoDB和MyISAM的区别分析小结
2008/04/15 PHP
php中加密解密DES类的简单使用方法示例
2020/03/26 PHP
Javascript实例教程(19) 使用HoTMetal(6)
2006/12/23 Javascript
ImageFlow可鼠标控制图片滚动
2008/01/30 Javascript
JS Date函数整理方便使用
2013/10/23 Javascript
Javascript遍历Html Table示例(包括内容和属性值)
2014/07/08 Javascript
基于jquery实现等比缩放图片
2014/12/03 Javascript
JS获取url参数、主域名的方法实例分析
2016/08/03 Javascript
Js查找字符串中出现次数最多的字符及个数实例解析
2016/09/05 Javascript
Vue2.0用 watch 观察 prop 变化(不触发)
2017/09/08 Javascript
使用selenium抓取淘宝的商品信息实例
2018/02/06 Javascript
Vue+Django项目部署详解
2019/05/30 Javascript
微信小程序文字显示换行问题
2019/07/28 Javascript
layui按条件隐藏表格列的实例
2019/09/19 Javascript
JS立即执行的匿名函数用法分析
2019/11/04 Javascript
通过实例了解JS执行上下文运行原理
2020/06/17 Javascript
vue3.0中setup使用(两种用法)
2020/12/02 Vue.js
[01:25]DOTA2自定义游戏灵园鬼域等你踏足
2015/10/30 DOTA
Python实现快速多线程ping的方法
2015/07/15 Python
Python使用PDFMiner解析PDF代码实例
2017/03/27 Python
Python实现数据库并行读取和写入实例
2017/06/09 Python
Python面向对象实现一个对象调用另一个对象操作示例
2019/04/08 Python
如何用Python破解wifi密码过程详解
2019/07/12 Python
python 求定积分和不定积分示例
2019/11/20 Python
Python 远程开关机的方法
2020/11/18 Python
Python爬虫新手入门之初学lxml库
2020/12/20 Python
法人代表委托书
2014/04/04 职场文书
圣诞节活动策划方案
2014/06/09 职场文书
摄影专业毕业生求职信
2014/08/05 职场文书
影视广告专业求职信
2014/09/02 职场文书
高中生第一学年自我鉴定
2014/09/12 职场文书
运动会开幕式致辞
2015/07/29 职场文书
当你找不到方向的时候,不妨读读刘备的一生
2019/08/05 职场文书
python模块与C和C++动态库相互调用实现过程示例
2021/11/02 Python
JavaScript 对象创建的3种方法
2021/11/17 Javascript