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 相关文章推荐
dojo学习第二天 ajax异步请求之绑定列表
Aug 29 Javascript
jQuery语法总结和注意事项小结
Nov 11 Javascript
js中的屏蔽的使用示例
Jul 30 Javascript
js获取url参数值的两种方式
Sep 10 Javascript
iframe调用父页面函数示例详解
Jul 17 Javascript
RequireJS多页面应用实例分析
Jun 29 Javascript
AngularJs 动态加载模块和依赖
Sep 15 Javascript
使用bootstrapValidator插件进行动态添加表单元素并校验
Sep 28 Javascript
Javascript单例模式的介绍和实例
Oct 08 Javascript
js实现弹窗暗层效果
Jan 16 Javascript
vue基础之使用get、post、jsonp实现交互功能示例
Mar 12 Javascript
vue Cli 环境删除与重装教程 - 版本文档
Sep 11 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
php 接口类与抽象类的实际作用
2009/11/26 PHP
Yii中的cookie的发送和读取
2016/07/27 PHP
Laravel Memcached缓存驱动的配置与应用方法分析
2016/10/08 PHP
详解php用static方法的原因
2018/09/12 PHP
jQuery getJSON()+.ashx 实现分页(改进版)
2013/03/28 Javascript
JavaScript获取文本框内选中文本的方法
2015/02/20 Javascript
JS控制弹出悬浮窗口(一览画面)的实例代码
2016/05/30 Javascript
Angular2+国际化方案(ngx-translate)的示例代码
2017/08/23 Javascript
基于vue.js路由参数的实例讲解——简单易懂
2017/09/07 Javascript
详解vue.js之props传递参数
2017/12/12 Javascript
React Native日期时间选择组件的示例代码
2018/04/27 Javascript
vue里面使用mui的弹出日期选择插件实例
2018/09/16 Javascript
Vue 实现手动刷新组件的方法
2019/02/19 Javascript
解决vuex刷新状态初始化的方法实现
2019/08/15 Javascript
VUE:vuex 用户登录信息的数据写入与获取方式
2019/11/11 Javascript
JS+HTML实现自定义上传图片按钮并显示图片功能的方法分析
2020/02/12 Javascript
关于IDEA中的.VUE文件报错 Export declarations are not supported by current JavaScript version
2020/10/17 Javascript
Python安装第三方库的3种方法
2015/06/21 Python
Python中Selenium模拟JQuery滑动解锁实例
2017/07/26 Python
python 把文件中的每一行以数组的元素放入数组中的方法
2018/04/29 Python
Flask框架学习笔记之模板操作实例详解
2019/08/15 Python
Python第三方包PrettyTable安装及用法解析
2020/07/08 Python
Python如何爬取51cto数据并存入MySQL
2020/08/25 Python
Python生成并下载文件后端代码实例
2020/08/31 Python
纯css3实现宠物小鸡实例代码
2018/10/08 HTML / CSS
电气工程及其自动化自我评价四篇
2013/09/24 职场文书
门卫岗位安全职责
2013/12/13 职场文书
自我鉴定三原则
2014/01/13 职场文书
2014年教务工作总结
2014/12/03 职场文书
事业单位考察材料范文
2014/12/25 职场文书
周年庆典答谢词
2015/01/20 职场文书
志愿者个人总结
2015/03/03 职场文书
2016年幼儿园教师政治学习心得体会
2016/01/23 职场文书
《分数的意义》教学反思
2016/02/20 职场文书
Python+Selenium实现读取网易邮箱验证码
2022/03/13 Python
CSS list-style-type属性使用方法
2023/05/21 HTML / CSS