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 相关文章推荐
javascript add event remove event
Apr 07 Javascript
Javascript call和apply区别及使用方法
Nov 14 Javascript
javascript打印html内容功能的方法示例
Nov 28 Javascript
jQuery实现的个性化返回底部与返回顶部特效代码
Oct 30 Javascript
原生JS封装ajax 传json,str,excel文件上传提交表单(推荐)
Jun 21 Javascript
js简单实现调整网页字体大小的方法
Jul 23 Javascript
Bootstrap基本组件学习笔记之面板(14)
Dec 08 Javascript
js中字符型和数值型数字的互相转化方法(必看)
Apr 25 Javascript
vue2.0 实现页面导航提示引导的方法
Mar 13 Javascript
Vue注册组件命名时不能用大写的原因浅析
Apr 25 Javascript
如何检测JavaScript中的死循环示例详解
Aug 30 Javascript
Javascript新手入门之字符串拼接与变量的应用
Dec 03 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
基于mysql的bbs设计(五)
2006/10/09 PHP
php 提交表单 关闭layer弹窗iframe的实例讲解
2018/08/20 PHP
PHP关于foreach复制知识点总结
2019/01/28 PHP
PHP命名空间与自动加载机制的基础介绍
2019/08/25 PHP
php设计模式之享元模式分析【星际争霸游戏案例】
2020/03/23 PHP
JS 获取span标签中的值的代码 支持ie与firefox
2009/08/24 Javascript
js 蒙版进度条(结合图片)
2010/03/10 Javascript
jquery ready(fn)事件使用介绍
2013/08/21 Javascript
js判断是否为ie的方法小结
2014/01/13 Javascript
jQuery+canvas实现简单的球体斜抛及颜色动态变换效果
2016/01/28 Javascript
jquery弹出遮掩层效果【附实例代码】
2016/04/28 Javascript
微信小程序 LOL 英雄介绍开发实例
2016/09/30 Javascript
jQuery选择器之属性筛选选择器用法详解
2017/09/19 jQuery
解决Mac node版本升级失败的问题
2018/05/16 Javascript
微信小程序自定义导航栏
2018/12/31 Javascript
解决vue props传Array/Object类型值,子组件报错的情况
2020/11/07 Javascript
如何使用原生Js实现随机点名详解
2021/01/06 Javascript
[58:46]OG vs NAVI 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
用Python编写简单的定时器的方法
2015/05/02 Python
在Django的URLconf中使用命名组的方法
2015/07/18 Python
解读Django框架中的低层次缓存API
2015/07/24 Python
Python实现的读写json文件功能示例
2018/06/05 Python
python超时重新请求解决方案
2019/10/21 Python
Python数据存储之 h5py详解
2019/12/26 Python
Python如何使用字符打印照片
2020/01/03 Python
Python下载网易云歌单歌曲的示例代码
2020/08/12 Python
CSS3实现的渐变幻灯片效果
2020/12/07 HTML / CSS
如何查找网页漏洞
2016/06/22 面试题
自我鉴定书范文
2013/10/02 职场文书
高中生期末评语大全
2014/01/28 职场文书
2019年朋友圈经典励志语录50条
2019/07/05 职场文书
忆童年!用Python实现愤怒的小鸟游戏
2021/06/07 Python
Python的这些库,你知道多少?
2021/06/09 Python
React如何创建组件
2021/06/27 Javascript
Springboot如何同时装配两个相同类型数据库
2021/11/17 Java/Android
Python开发简易五子棋小游戏
2022/05/02 Python