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异步加载的三种解决方案
Mar 04 Javascript
json属性名为什么要双引号(个人猜测)
Jul 31 Javascript
JavaScript实现仿网易通行证表单验证
May 25 Javascript
关于获取DIV内部内容报错的原因分析及解决办法
Jan 29 Javascript
jQuery模仿单选按钮选中效果
Jun 24 Javascript
jQuery获取this当前对象子元素对象的方法
Nov 29 Javascript
详解如何使用webpack打包Vue工程
May 27 Javascript
JS常见构造模式实例对比分析
Aug 27 Javascript
JS使用正则表达式判断输入框失去焦点事件
Oct 16 Javascript
JS数组属性去重并校验重复数据
Jan 10 Javascript
js如何验证密码强度
Mar 18 Javascript
Vue+Java+Base64实现条码解析的示例
Sep 23 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中函数前加&符号的作用分解
2014/07/08 PHP
php实现递归与无限分类的方法
2015/02/16 PHP
PHP与jquery实时显示网站在线人数实例详解
2016/12/02 PHP
解决PHP 7编译安装错误:cannot stat ‘phar.phar’: No such file or directory
2017/02/25 PHP
PHP各种常见经典算法总结【排序、查找、翻转等】
2019/08/05 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
2020/04/04 PHP
改变javascript函数内部this指针指向的三种方法
2010/04/23 Javascript
jsPDF导出pdf示例
2014/05/02 Javascript
基于angular中的重要指令详解($eval,$parse和$compile)
2016/10/21 Javascript
JavaScript实现body内任意节点的自定义属性功能示例
2017/09/18 Javascript
vue中使用element-ui进行表单验证的实例代码
2018/06/22 Javascript
vue项目在安卓低版本机显示空白的原因分析(两种)
2018/09/04 Javascript
使用NestJS开发Node.js应用的方法
2018/12/03 Javascript
javascript实现弹出层效果
2019/12/10 Javascript
keep-alive保持组件状态的方法
2020/12/02 Javascript
[42:52]Optic vs Serenity 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
python中from module import * 的一个坑
2014/07/20 Python
探究Python多进程编程下线程之间变量的共享问题
2015/05/05 Python
Python函数的周期性执行实现方法
2016/08/13 Python
Python爬虫:通过关键字爬取百度图片
2017/02/17 Python
python画出三角形外接圆和内切圆的方法
2018/01/25 Python
使用Python3+PyQT5+Pyserial 实现简单的串口工具方法
2019/02/13 Python
python操作excel让工作自动化
2019/08/09 Python
Python Opencv提取图片中某种颜色组成的图形的方法
2019/09/19 Python
Python vtk读取并显示dicom文件示例
2020/01/13 Python
解决django框架model中外键不落实到数据库问题
2020/05/20 Python
Python爬虫实现HTTP网络请求多种实现方式
2020/06/19 Python
Python判断远程服务器上Excel文件是否被人打开的方法
2020/07/13 Python
利用Python实现自动扫雷小脚本
2020/12/17 Python
院领导写的就业推荐信
2014/03/09 职场文书
国际商贸专业自荐信
2014/06/09 职场文书
2014年师德师风工作总结
2014/11/25 职场文书
环保建议书作文300字
2015/09/14 职场文书
2015年评职称个人工作总结
2015/10/15 职场文书
《认识钟表》教学反思
2016/02/16 职场文书
医学会议开幕词
2016/03/03 职场文书