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 相关文章推荐
js实现页面打印功能实例代码(附去页眉页脚功能代码)
Dec 15 Javascript
9个JavaScript评级/投票插件
Jan 18 Javascript
javascript检测是否联网的实现代码
Sep 28 Javascript
jQuery选择id属性带有点符号元素的方法
Mar 17 Javascript
jquery+CSS实现的水平布局多级网页菜单效果
Aug 24 Javascript
js使用i18n实现页面国际化的方法
May 09 Javascript
js实现点击展开隐藏效果(实例代码)
Sep 28 Javascript
原生JS使用Canvas实现拖拽式绘图功能
Jun 05 Javascript
node crawler如何添加promise支持
Feb 01 Javascript
Vue实现多页签组件
Jan 14 Vue.js
ReactRouter的实现方法
Jan 25 Javascript
Vue + iView实现Excel上传功能的完整代码
Jun 22 Vue.js
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
php使用qr生成二维码的示例分享
2014/01/20 PHP
PHP函数checkdnsrr用法详解(Windows平台用法)
2016/03/21 PHP
ThinkPHP框架实现的邮箱激活功能示例
2018/06/15 PHP
laravel框架select2多选插件初始化默认选中项操作示例
2020/02/18 PHP
js几个不错的函数 $$()
2006/10/09 Javascript
javascript中callee与caller的用法和应用场景
2010/12/08 Javascript
图片动画横条广告带上下滚动可自定义图片、链接等等
2013/10/20 Javascript
IE中JS跳转丢失referrer问题的2个解决方法
2014/07/18 Javascript
介绍JavaScript中Math.abs()方法的使用
2015/06/14 Javascript
javascript 使用for循环时该注意的问题-附问题总结
2015/08/19 Javascript
JS实现带圆弧背景渐变效果的导航菜单代码
2015/10/13 Javascript
Vue2路由动画效果的实现代码
2017/07/10 Javascript
Vue封装的可编辑表格插件方法
2018/08/28 Javascript
微信小程序公用参数与公用方法用法示例
2019/01/09 Javascript
vue实现form表单与table表格的数据关联功能示例
2019/01/29 Javascript
20个必会的JavaScript面试题(小结)
2019/07/02 Javascript
vue 实现路由跳转时更改页面title
2019/11/05 Javascript
JS中的const命令你真懂它吗
2020/03/08 Javascript
js+canvas绘制图形验证码
2020/09/21 Javascript
JS highcharts实现动态曲线代码示例
2020/10/16 Javascript
Vue 401配合Vuex防止多次弹框的案例
2020/11/11 Javascript
详解Vue的七种传值方式
2021/02/08 Vue.js
Python 数据可视化pyecharts的使用详解
2019/06/26 Python
django的csrf实现过程详解
2019/07/26 Python
在Windows上安装和配置 Jupyter Lab 作为桌面级应用程序教程
2020/04/22 Python
解决pyinstaller打包运行程序时出现缺少plotly库问题
2020/06/02 Python
解决canvas转base64/jpeg时透明区域变成黑色背景的方法
2016/10/23 HTML / CSS
美国室内盆栽植物购买网站:Plants.com
2020/04/24 全球购物
explicit和implicit的含义
2012/11/15 面试题
高中毕业生自我鉴定
2013/11/03 职场文书
党员干部公开承诺书
2014/03/26 职场文书
法律系毕业生自荐信范文
2014/03/27 职场文书
主持人演讲稿
2014/05/13 职场文书
消防安全宣传口号
2014/06/10 职场文书
DBCA命令行搭建Oracle ADG的流程
2021/06/11 Oracle
MySQL命令无法输入中文问题的解决方式
2021/08/30 MySQL