ES6学习教程之对象字面量详解
前言
本文主要给大家介绍了关于ES6对象字面量的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。
ECMAScript6使得声明对象字面量更加简单,提供了属性简写和方法简写功能,属性名计算的新特性。
functiongetInfo(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);
}
};
}
letperson=getInfo('Kia',27,400);
console.log(person);//{name:"Kia",age:27,weight:400,over400:true,descripte:ƒ}
如果可以理解上述三个新特性,可以不必往下阅读。下面的文字仅提供给还有疑问的朋友。
属性简写
在ES5及以前的版本中,对象字面量只支持键值对集合。实际业务中,对象字面量的初始化会有一定的代码重复。
//ES5
functioncreatePeople(name,age){
return{
name:name,
age:age
};
}
createPeople函数用来创建一个People的对象,可以看到上面的代码的name和age分别书写了两次,有些麻烦。在ES6中通过使用属性简写特性可以消除这种属性名称和局部变量之间的重复书写,当对象的属性和变量同名时,可以不必再写冒号和值。
functioncreatePeople(name,age){
return{
name,
age
};
}
方法名简写
ES5中若为对象添加方法必须指定方法名称,并完整地定义函数来实现。
varpeople={
name:'xixi',
sayName:function(){
console.log(this.name);
}
};
ES6的语法更简洁,消除了冒号和方法名。
letpeople={
name:'xixi',
sayName(){
console.log(this.name);
}
};
people.sayName();//xixi
属性可计算
letlastName='lastname';
letperson={
[lastName]:'yuan'
};
console.log(person[lastName]);//yuan
总结
对象字面量扩展的3个新特性介绍完毕,大家可以回到文章开头检查一下自己是否掌握了本小结内容。
好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对毛票票的支持。