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及以前的版本中,對象字面量只支持鍵值對集合。實際業(yè)務中,對象字面量的初始化會有一定的代碼重復。
//ES5
function createPeople(name, age) {
return {
name: name,
age: age
};
}
createPeople函數用來創(chuàng)建一個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個新特性介紹完畢,大家可以回到文章開頭檢查一下自己是否掌握了本小結內容。
好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

