ES6学习教程之对象字面量详解


Posted in Javascript onOctober 09, 2017

前言

本文主要给大家介绍了关于ES6对象字面量的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

ECMAScript6使得声明对象字面量更加简单,提供了属性简写和方法简写功能,属性名计算的新特性。

function getInfo(name, age, weight) {
 return {
  // 如果属性名和属性值同名可以利用、es6的属性简写
  name, // 等同于 make: make
  age, // 等同于 model: model
  weight, // 等同于 value: value

  // ES6的属性名是可计算的
  ['over' + weight]: true,

  // 对象方法名简写可以省略 function 关键字
  descripte() {
   console.log(name, age, weight);
  }
 };
}

let person = getInfo('Kia', 27, 400);
console.log(person);// {name: "Kia", age: 27, weight: 400, over400: true, descripte: ƒ}

如果可以理解上述三个新特性,可以不必往下阅读。下面的文字仅提供给还有疑问的朋友。

属性简写

在 ES5及以前的版本中,对象字面量只支持键值对集合。实际业务中,对象字面量的初始化会有一定的代码重复。

//ES5
function createPeople(name, age) {
 return {
  name: name,
  age: age
 };
}

createPeople函数用来创建一个People的对象,可以看到上面的代码的 name和age分别书写了两次,有些麻烦。在ES6中通过使用属性简写特性可以消除这种属性名称和局部变量之间的重复书写,当对象的属性和变量同名时,可以不必再写冒号和值。

function createPeople(name, age) {
 return {
  name,
  age
 };
}

方法名简写

ES5中若为对象添加方法必须指定方法名称,并完整地定义函数来实现。

var people = {
 name: 'xixi',
 sayName: function () {
  console.log(this.name);
 }
};

ES6的语法更简洁,消除了冒号和方法名。

let people = {
 name: 'xixi',
 sayName() {
  console.log(this.name);
 }
};
people.sayName();// xixi

属性可计算

let lastName = 'last name';
let person = {
 [lastName]: 'yuan'
};
console.log(person[lastName]);// yuan

总结

对象字面量扩展的3个新特性介绍完毕,大家可以回到文章开头检查一下自己是否掌握了本小结内容。

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
JQuery AJAX 中文乱码问题解决
Jun 05 Javascript
关于JavaScript对象的动态选择及遍历对象
Mar 10 Javascript
Javascript验证用户输入URL地址是否为空及格式是否正确
Oct 09 Javascript
基于jquery实现简单的手风琴特效
Nov 24 Javascript
jQuery配合coin-slider插件制作幻灯片效果的流程解析
May 13 Javascript
简单模拟node.js中require的加载机制
Oct 27 Javascript
jQuery.Validate表单验证插件的使用示例详解
Jan 04 Javascript
js实现鼠标左右移动,图片也跟着移动效果
Jan 25 Javascript
使用vue的transition完成滑动过渡的示例代码
Jun 25 Javascript
JavaScript函数式编程(Functional Programming)箭头函数(Arrow functions)用法分析
May 22 Javascript
js实现表格单列按字母排序
Aug 12 Javascript
Node 使用express-http-proxy 做api网关的实现
Oct 15 Javascript
AngularJS中的路由使用及实现代码
Oct 09 #Javascript
React如何利用相对于根目录进行引用组件详解
Oct 09 #Javascript
React Native中的RefreshContorl下拉刷新使用
Oct 09 #Javascript
JS实现的全排列组合算法示例
Oct 09 #Javascript
js + css实现标签内容切换功能(实例讲解)
Oct 09 #Javascript
jQuery ajax调用webservice注意事项
Oct 08 #jQuery
js用类封装pop弹窗组件
Oct 08 #Javascript
You might like
phpfans留言版用到的数据操作类和分页类
2007/01/04 PHP
PHP获取类中常量,属性,及方法列表的方法
2009/04/09 PHP
PHP面向对象概念
2011/11/06 PHP
ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
2014/05/15 PHP
求帮忙修改个php curl模拟post请求内容后并下载文件的解决思路
2015/09/20 PHP
参考:关于Javascript中实现暂停的几篇文章
2007/03/04 Javascript
基于jQuery的淡入淡出可自动切换的幻灯插件
2010/08/24 Javascript
用Javascript实现Sleep暂停功能代码
2010/09/03 Javascript
运用JQuery的toggle实现网页加载完成自动弹窗
2014/03/18 Javascript
js实现禁止中文输入的方法
2015/01/14 Javascript
JS烟花背景效果实现方法
2015/03/03 Javascript
javascript中利用柯里化函数实现bind方法【推荐】
2016/04/29 Javascript
js倒计时小实例(多次定时)
2016/12/08 Javascript
详解如何在你的Vue项目配置vux
2018/06/04 Javascript
详解关于element el-button使用$attrs的一个注意要点
2018/11/09 Javascript
JavaScript中的事件与异常捕获详析
2019/02/24 Javascript
微信小程序实现限制用户转发功能的实例代码
2020/02/22 Javascript
jquery html添加元素/删除元素操作实例详解
2020/05/20 jQuery
原生JS运动实现轮播图
2021/01/02 Javascript
[02:32]DOTA2亚洲邀请赛 C9战队出场宣传片
2015/02/07 DOTA
为Python程序添加图形化界面的教程
2015/04/29 Python
教你用Python创建微信聊天机器人
2020/03/31 Python
基于python进行桶排序与基数排序的总结
2018/05/29 Python
用python求一个数组的和与平均值的实现方法
2019/06/29 Python
python绘制多个子图的实例
2019/07/07 Python
Centos7下源码安装Python3 及shell 脚本自动安装Python3的教程
2020/03/07 Python
python asyncio 协程库的使用
2021/01/21 Python
北美领先的智能产品购物网站:Wellbots
2018/06/11 全球购物
工程部主管岗位职责
2013/11/17 职场文书
群众路线专项整治方案
2014/10/27 职场文书
2014年小学班主任工作总结
2014/11/08 职场文书
入党现实表现材料
2014/12/23 职场文书
2015年护理工作总结范文
2015/04/03 职场文书
抢劫罪辩护词
2015/05/21 职场文书
剑指Offer之Java算法习题精讲二叉树专项训练
2022/03/21 Java/Android
Mybatis-Plus 使用 @TableField 自动填充日期
2022/04/26 Java/Android