ES6學習教程之對象字面量詳解
前言
本文主要給大家介紹了關(guān)于ES6對象字面量的相關(guān)內(nèi)容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。
ECMAScript6使得聲明對象字面量更加簡單,提供了屬性簡寫和方法簡寫功能,屬性名計算的新特性。
function getInfo(name, age, weight) { return { // 如果屬性名和屬性值同名可以利用、es6的屬性簡寫 name, // 等同于 make: make age, // 等同于 model: model weight, // 等同于 value: value // ES6的屬性名是可計算的 ['over' + weight]: true, // 對象方法名簡寫可以省略 function 關(guān)鍵字 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è)務(wù)中,對象字面量的初始化會有一定的代碼重復。
//ES5 function createPeople(name, age) { return { name: name, age: age }; }
createPeople函數(shù)用來創(chuàng)建一個People的對象,可以看到上面的代碼的 name和age分別書寫了兩次,有些麻煩。在ES6中通過使用屬性簡寫特性可以消除這種屬性名稱和局部變量之間的重復書寫,當對象的屬性和變量同名時,可以不必再寫冒號和值。
function createPeople(name, age) { return { name, age }; }
方法名簡寫
ES5中若為對象添加方法必須指定方法名稱,并完整地定義函數(shù)來實現(xiàn)。
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
總結(jié)
對象字面量擴展的3個新特性介紹完畢,大家可以回到文章開頭檢查一下自己是否掌握了本小結(jié)內(nèi)容。
好了,以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
JavaScript獲取當前窗口內(nèi)的寬度和高度匯總
這篇文章主要介紹了JavaScript獲取當前窗口內(nèi)的寬度和高度匯總的相關(guān)資料,需要的朋友可以參考下2023-02-02獲取服務(wù)器傳來的數(shù)據(jù) 用JS去空格的正則表達式
獲取服務(wù)器傳來的數(shù)據(jù) 用JS去空格的正則表達式,需要的朋友可以參考下2012-03-03