摘要:使得聲明對(duì)象字面量更加簡(jiǎn)單,提供了屬性簡(jiǎn)寫和方法簡(jiǎn)寫功能,屬性名計(jì)算的新特性。屬性簡(jiǎn)寫在及以前的版本中,對(duì)象字面量只支持鍵值對(duì)集合。實(shí)際業(yè)務(wù)中,對(duì)象字面量的初始化會(huì)有一定的代碼重復(fù)。
ECMAScript6使得聲明對(duì)象字面量更加簡(jiǎn)單,提供了屬性簡(jiǎn)寫和方法簡(jiǎn)寫功能,屬性名計(jì)算的新特性。
function getInfo(name, age, weight) { return { // 如果屬性名和屬性值同名可以利用、es6的屬性簡(jiǎn)寫 name, // 等同于 make: make age, // 等同于 model: model weight, // 等同于 value: value // ES6的屬性名是可計(jì)算的 ["over" + weight]: true, // 對(duì)象方法名簡(jiǎn)寫可以省略 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: ?}
如果可以理解上述三個(gè)新特性,可以不必往下閱讀。下面的文字僅提供給還有疑問(wèn)的朋友。
屬性簡(jiǎn)寫在 ES5及以前的版本中,對(duì)象字面量只支持鍵值對(duì)集合。實(shí)際業(yè)務(wù)中,對(duì)象字面量的初始化會(huì)有一定的代碼重復(fù)。
//ES5 function createPeople(name, age) { return { name: name, age: age }; }
createPeople函數(shù)用來(lái)創(chuàng)建一個(gè)People的對(duì)象,可以看到上面的代碼的 name和age分別書寫了兩次,有些麻煩。在ES6中通過(guò)使用屬性簡(jiǎn)寫特性可以消除這種屬性名稱和局部變量之間的重復(fù)書寫,當(dāng)對(duì)象的屬性和變量同名時(shí),可以不必再寫冒號(hào)和值。
function createPeople(name, age) { return { name, age }; }方法名簡(jiǎn)寫
ES5中若為對(duì)象添加方法必須指定方法名稱,并完整地定義函數(shù)來(lái)實(shí)現(xiàn)。
var people = { name: "xixi", sayName: function () { console.log(this.name); } };
ES6的語(yǔ)法更簡(jiǎn)潔,消除了冒號(hào)和方法名。
let people = { name: "xixi", sayName() { console.log(this.name); } }; people.sayName();// xixi屬性可計(jì)算
let lastName = "last name"; let person = { [lastName]: "yuan" }; console.log(person[lastName]);// yuan總結(jié)
對(duì)象字面量擴(kuò)展的3個(gè)新特性介紹完畢,大家可以回到文章開(kāi)頭檢查一下自己是否掌握了本小結(jié)內(nèi)容。
refs深入理解ES6
learning-es6-enhanced-object-literals
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/88874.html
摘要:語(yǔ)法和數(shù)據(jù)類型正文開(kāi)始本章節(jié)復(fù)習(xí)的是中的基本語(yǔ)法,變量聲明,數(shù)據(jù)類型和字面量。聲明一個(gè)塊作用域的局部變量,可賦一個(gè)初始值。變量聲明有三種方式如,聲明局部變量和全局變量。 最近開(kāi)始把精力放在重新復(fù)習(xí)JavaScript的基礎(chǔ)知識(shí)上面,不再太追求各種花枝招展的前端框架,框架再多,適合實(shí)際項(xiàng)目才是最重要。 上星期在掘金發(fā)布了幾篇文章,其中最大塊算是 【復(fù)習(xí)資料】ES6/ES7/ES8/ES...
摘要:通過(guò)多種方式來(lái)加強(qiáng)對(duì)象的使用,通過(guò)簡(jiǎn)單的語(yǔ)法擴(kuò)展,提供更多操作對(duì)象及與對(duì)象交互的方法。增強(qiáng)對(duì)象原型改變對(duì)象的原型正常情況下,無(wú)論是通過(guò)構(gòu)造函數(shù)還是方法創(chuàng)建對(duì)象,其原型是在被創(chuàng)建時(shí)指定的。引用相當(dāng)于指向?qū)ο笤偷闹羔? ES6通過(guò)多種方式來(lái)加強(qiáng)對(duì)象的使用,通過(guò)簡(jiǎn)單的語(yǔ)法擴(kuò)展,提供更多操作對(duì)象及與對(duì)象交互的方法。 對(duì)象字面量語(yǔ)法擴(kuò)展 對(duì)象屬性初始值的簡(jiǎn)寫 ES5中初始化屬性值的方式: fun...
摘要:本系列文章適合快速掌握入門語(yǔ)法,想深入學(xué)習(xí)的小伙伴可以看看阮一峰老師的入門本篇文章是對(duì)之前文章的一個(gè)補(bǔ)充,可以使代碼更簡(jiǎn)潔函數(shù)參數(shù)默認(rèn)值在傳統(tǒng)語(yǔ)法中如果想設(shè)置函數(shù)默認(rèn)值一般我們采用判斷的形式在新的語(yǔ)法中我們可以在參數(shù)聲明的同時(shí)賦予默認(rèn)值參數(shù) 本系列文章適合快速掌握 ES6 入門語(yǔ)法,想深入學(xué)習(xí) ES6 的小伙伴可以看看阮一峰老師的《ECMAScript 6 入門》 本篇文章是對(duì)之前文章...
摘要:本章主要講個(gè)知識(shí)點(diǎn),字符串正則表達(dá)式字符串字符串是大原始數(shù)據(jù)類型。提供的標(biāo)準(zhǔn)形式,接受一個(gè)可選的字符串參數(shù),指明應(yīng)用某種標(biāo)準(zhǔn)形式。如果在字符串中檢測(cè)到指定文本,返回,否則。字符串內(nèi)插入反撇號(hào)的方式。 相比較于第一章變量的聲明,這一章的內(nèi)容有了一點(diǎn)深度提升,但還不至于很難理解。本章主要講2個(gè)知識(shí)點(diǎn),字符串、正則表達(dá)式 字符串 字符串(String)是JavaScript6大原始數(shù)據(jù)類型。...
閱讀 3351·2021-11-22 12:04
閱讀 2736·2019-08-29 13:49
閱讀 509·2019-08-26 13:45
閱讀 2295·2019-08-26 11:56
閱讀 1028·2019-08-26 11:43
閱讀 621·2019-08-26 10:45
閱讀 1298·2019-08-23 16:48
閱讀 2182·2019-08-23 16:07