当前位置: 首页 > 编程笔记 >

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

滕渝
2023-03-14
本文向大家介绍ES6学习教程之对象字面量详解,包括了ES6学习教程之对象字面量详解的使用技巧和注意事项,需要的朋友参考一下

前言

本文主要给大家介绍了关于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个新特性介绍完毕,大家可以回到文章开头检查一下自己是否掌握了本小结内容。

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

 类似资料:
  • 本文向大家介绍ES6学习教程之模板字符串详解,包括了ES6学习教程之模板字符串详解的使用技巧和注意事项,需要的朋友参考一下 模板字符串(template strings) ES6 中引进的一种新型的字符串字面量语法 - 模板字符串。书面上来解释,模板字符串是一种能在字符串文本中内嵌表示式的字符串字面量。简单来讲,就是增加了变量功能的字符串。 ES6为我们提供了模板字符串,语法使用反引号`。模板字符

  • 本文向大家介绍Angular2学习教程之TemplateRef和ViewContainerRef详解,包括了Angular2学习教程之TemplateRef和ViewContainerRef详解的使用技巧和注意事项,需要的朋友参考一下 TemplateRef 在介绍 TemplateRef 前,我们先来了解一下 HTML 模板元素 - <template> 。模板元素是一种机制,允许包含加载页面时

  • 本文向大家介绍Perl学习教程之单行命令详解,包括了Perl学习教程之单行命令详解的使用技巧和注意事项,需要的朋友参考一下 前言 本文主要给大家介绍了关于Perl单行命令的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 与One-Liner相关的perl参数 -a 自动分隔模式,用空格分隔$并保存在@F中,也就是@F=split //, $ -F 指定-a的分隔符 -l

  • 本文向大家介绍JavaScript中的Object对象学习教程,包括了JavaScript中的Object对象学习教程的使用技巧和注意事项,需要的朋友参考一下 参数: (1)obj 必需。Object 对象分配到的变量名称。  (2)值 可选。任一 JavaScript 基元数据类型(数字、布尔值或字符串)。  如果值是一个对象,则返回的对象是未修改的。  如果值是 null、“未定义”或“未提供

  • 本文向大家介绍ES6学习之变量的解构赋值,包括了ES6学习之变量的解构赋值的使用技巧和注意事项,需要的朋友参考一下 变量的解构赋值 ES6中允许按照一定模式,从数组和对象中提取,对变量进行赋值。 数组的解构赋值 上面的代码标示可以从数组中提取值,按照位置的对应关系对变量进行赋值。 本质上,这种写法属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值。 如果解构不成功,变量的值就等

  • 本文向大家介绍Python 学习教程之networkx,包括了Python 学习教程之networkx的使用技巧和注意事项,需要的朋友参考一下 networkx是Python的一个包,用于构建和操作复杂的图结构,提供分析图的算法。图是由顶点、边和可选的属性构成的数据结构,顶点表示数据,边是由两个顶点唯一确定的,表示两个顶点之间的关系。顶点和边也可以拥有更多的属性,以存储更多的信息。 对于netwo