国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JavaScript ES6中的簡寫語法總結(jié)與使用技巧

2024-05-06 15:43:39
字體:
供稿:網(wǎng)友

ES6為一些已有的功能提供了非破壞性更新,這類更新中的大部分我們可以理解為語法糖,稱之為語法糖,意味著,這類新語法能做的事情其實(shí)用ES5也可以做,只是會(huì)稍微復(fù)雜一些。本章我們將著重討論這些語法糖,看完之后,可能你會(huì)對(duì)一些你很熟悉的ES6新語法有不一樣的理解。

JavaScript ES6對(duì)象字面量

對(duì)象字面量是指以{}形式直接表示的對(duì)象,比如下面這樣:

var book = { title: 'Modular ES6', author: 'Nicolas', publisher: 'O´Reilly'}

ES6 為對(duì)象字面量的語法帶來了一些改進(jìn):包括屬性/方法的簡潔表示,可計(jì)算的屬性名等等,我們逐一來看:

JavaScript ES6中屬性的簡潔表示法

你有沒有遇到過這種場景,一個(gè)我們聲明的對(duì)象中包含若干屬性,其屬性值由變量表示,且變量名和屬性名一樣的。比如下面這樣,我們想把一個(gè)名為 listeners 的數(shù)組賦值給events對(duì)象中的listeners屬性,用ES5我們會(huì)這樣做:

var listeners = []function listen() {}var events = { listeners: listeners, listen: listen}

ES6則允許我們簡寫成下面這種形式:

var listeners = []function listen() {}var events = { listeners, listen }

怎么樣,是不是感覺簡潔了許多,使用對(duì)象字面量的簡潔寫法讓我們?cè)诓挥绊懻Z義的情況下減少了重復(fù)代碼。

這是ES6帶來的好處之一,它提供了眾多更簡潔,語義更清晰的語法,讓我們的代碼的可讀性,可維護(hù)性大大提升。

可計(jì)算的屬性名

對(duì)象字面量的另一個(gè)重要更新是允許你使用可計(jì)算的屬性名,在ES5中我們也可以給對(duì)象添加屬性名為變量的屬性,一般說來,我們要按下面方法這樣做,首先聲明一個(gè)名為expertise的變量,然后通過person[expertise]這種形式把變量添加為對(duì)象person的屬性:

var expertise = 'journalism'var person = { name: 'Sharon', age: 27}person[expertise] = { years: 5, interests: ['international', 'politics', 'internet']}

ES6 中,對(duì)象字面量可以使用計(jì)算屬性名了,把任何表達(dá)式放在中括號(hào)中,表達(dá)式的運(yùn)算結(jié)果將會(huì)是對(duì)應(yīng)的屬性名,上面的代碼,用ES6可以這樣寫:

var expertise = 'journalism'var person = { name: 'Sharon', age: 27, [expertise]: {  years: 5,  interests: ['international', 'politics', 'internet'] }}

不過需要注意的是,簡寫屬性和計(jì)算的屬性名不可同時(shí)使用。這是因?yàn)?,簡寫屬性是一種在編譯階段的就會(huì)生效的語法糖,而計(jì)算的屬性名則在運(yùn)行時(shí)才生效。如果你把二者混用,代碼會(huì)報(bào)錯(cuò)。而且二者混用往往還會(huì)降低代碼的可讀性,所以JavaScript在語言層面上限制二者不能混用也是個(gè)好事。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 云阳县| 瓮安县| 扶沟县| 永顺县| 许昌市| 油尖旺区| 应城市| 洪湖市| 新龙县| 绿春县| 南澳县| 垣曲县| 延吉市| 依安县| 新竹市| 无为县| 潞城市| 安化县| 定西市| 建湖县| 长宁县| 修文县| 亚东县| 大兴区| 杭锦后旗| 资兴市| 绍兴县| 宁都县| 招远市| 灵璧县| 满城县| 高雄县| 柯坪县| 光山县| 泰安市| 长阳| 民勤县| 中阳县| 梨树县| 绥化市| 五大连池市|