微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

前言

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

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

rush:js;"> 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,weight);
}
};
}

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

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

属性简写

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

rush:js;"> //ES5 function createPeople(name,age) { return { name: name,age: age }; }

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

rush:js;"> function createPeople(name,age) { return { name,age }; }

方法名简写

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

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

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

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

属性可计算

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

总结

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐