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 相关文章推荐
firefox火狐浏览器与与ie兼容的2个问题总结
Jul 20 Javascript
jquery ajax提交整个表单元素的快捷办法
Mar 27 Javascript
jQuery中outerWidth()方法用法实例
Jan 19 Javascript
浅析JavaScript事件和方法
Feb 28 Javascript
7个有用的jQuery代码片段分享
May 19 Javascript
在JavaScript中使用对数Math.log()方法的教程
Jun 15 Javascript
JS FormData上传文件的设置方法
Jul 05 Javascript
vue项目开发中setTimeout等定时器的管理问题
Sep 13 Javascript
p5.js临摹动态图形的方法
Oct 23 Javascript
uni-app 支持多端第三方地图定位的方法
Jan 03 Javascript
详解Nuxt内导航栏的两种实现方式
Apr 16 Javascript
可拖拽组件slider.js使用方法详解
Dec 04 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
杏林同学录(一)
2006/10/09 PHP
php下正则来匹配dede模板标签的代码
2010/08/21 PHP
php实现图片文件与下载文件防盗链的方法
2014/11/03 PHP
jQuery+PHP实现的掷色子抽奖游戏实例
2015/01/04 PHP
Yii快速入门经典教程
2015/12/28 PHP
浅析Yii2 gridview实现批量删除教程
2016/04/22 PHP
自动更新作用
2006/10/08 Javascript
Jquery 实现表格颜色交替变化鼠标移过颜色变化实例
2013/08/28 Javascript
Jquery实现兼容各大浏览器的Enter回车切换输入焦点的方法
2014/09/01 Javascript
javascript框架设计读书笔记之字符串的扩展和修复
2014/12/02 Javascript
Jquery实现由下向上展开效果的例子
2014/12/08 Javascript
基于jquery插件实现拖拽删除图片功能
2020/08/27 Javascript
JS基于面向对象实现的拖拽功能示例
2016/12/20 Javascript
基于jQuery实现数字滚动效果
2017/01/16 Javascript
浅谈Angular4实现热加载开发旅程
2017/09/08 Javascript
vue使用vue-quill-editor富文本编辑器且将图片上传到服务器的功能
2021/01/13 Vue.js
python插入排序算法的实现代码
2013/11/21 Python
在Linux系统上通过uWSGI配置Nginx+Python环境的教程
2015/12/25 Python
Python采集代理ip并判断是否可用和定时更新的方法
2018/05/07 Python
如何安装多版本python python2和python3共存以及pip共存
2018/09/18 Python
python实现停车管理系统
2018/11/30 Python
python程序运行进程、使用时间、剩余时间显示功能的实现代码
2019/07/11 Python
详解Python3中的 input() 函数
2020/03/18 Python
HTML5 canvas实现的静态循环滚动播放弹幕
2021/01/05 HTML / CSS
YOOX美国官方网站:全球著名的多品牌时尚网络概念店
2016/09/11 全球购物
迪梵英国官方网站:Darphin英国
2017/12/06 全球购物
英国婴儿及儿童产品商店:TigerParrot
2019/03/04 全球购物
Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
2015/01/27 面试题
货代行业个人求职简历的自我评价
2013/10/22 职场文书
十八大闭幕感言
2014/01/22 职场文书
大学生在校学习的自我评价
2014/02/18 职场文书
优秀党员获奖感言
2014/02/18 职场文书
放飞中国梦演讲稿
2014/04/23 职场文书
大学生村官座谈会发言材料
2014/05/25 职场文书
2014年依法行政工作总结
2014/11/19 职场文书
理想国读书笔记
2015/06/25 职场文书