摘要:概述在中,對象字面量的語法被增強(qiáng)了更短的屬性聲明如果屬性的屬性名和屬性值引用的變量名一致,可以直接省略之前更短的函數(shù)聲明如果屬性的屬性名和屬性值函數(shù)的函數(shù)名一致或者屬性值函數(shù)沒有函數(shù)名,可以省略關(guān)鍵字和屬性名之前可動態(tài)計(jì)算的屬性名屬性名可以
0x000 概述
在es6中,對象字面量的語法被增強(qiáng)了
0x001 更短的屬性聲明如果屬性的屬性名和屬性值引用的變量名一致,可以直接省略
let name="jack" // es6之前 var obj={name:name} // {name:"jack"} // es6 let obj={name} // {name:"jack"}0x002 更短的函數(shù)聲明
如果屬性的屬性名和屬性值(函數(shù))的函數(shù)名一致或者屬性值(函數(shù))沒有函數(shù)名,可以省略function關(guān)鍵字和屬性名
// es6之前 var obj={sum: function(a, b){return a+b}} // es6 let obj={sum(a, b){return a+b}} //{sum:function(a, b){return a+b}}0x003 可動態(tài)計(jì)算的屬性名
屬性名可以動態(tài)變化
let key="name" let obj={[key]:"jack"} // {name:"jack"}0x004 總覽
let key="name" let age=23 let person={ [key]:"jack", getName(){return "jack"}, age } // {name:"jack",getName:function(){return "jack"},age:23}0x005 使用babel翻譯
源碼
let key="name" let age=23 let person={ [key]:"jack", getName(){return "jack"}, age }
翻譯后可以發(fā)現(xiàn),使用的是 Object.defineProperty實(shí)現(xiàn)的
"use strict"; var _person; function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var key = "name"; var age = 23; var person = (_person = {}, _defineProperty(_person, key, "jack"), _defineProperty(_person, "getName", function getName() { return "jack"; }), _defineProperty(_person, "age", age), _person);
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/99254.html
摘要:概述是一個新的數(shù)據(jù)結(jié)構(gòu),和其他語言的特性差不多,當(dāng)然,作為中的,他還是有一些屬于的特點(diǎn)。 0x000 概述 Set是一個新的數(shù)據(jù)結(jié)構(gòu),和其他語言的特性差不多,當(dāng)然,作為js中的Set,他還是有一些屬于js的特點(diǎn)。 0x001 初始化 new Set([iterable]); 初始化一個Set有一個可選的參數(shù),這個參數(shù)必須是一個可迭代的對象,可迭代對象包括String、Array、Arr...
摘要:模板字符串增強(qiáng)的對象字面解構(gòu)賦值模板字面量是允許嵌入表達(dá)式的字符串字面量。它們在規(guī)范的先前版本中被稱為模板字符串。 es6模板字符串、增強(qiáng)的對象字面、解構(gòu)賦值 模板字面量 是允許嵌入表達(dá)式的字符串字面量。你可以使用多行字符串和字符串插值功能。它們在ES2015規(guī)范的先前版本中被稱為模板字符串。 var str = `I Love you`...
摘要:使用新特性開發(fā)微信小程序國際化與本地化新特性國際化與本地化新增了很多對于國際化的支持,比如時間格式,貨幣格式,數(shù)字格式等。 ECMAScript 6(簡稱ES6)是JavaScript語言的最新標(biāo)準(zhǔn)。因?yàn)楫?dāng)前版本的ES6是在2015年發(fā)布的,所以又稱ECMAScript 2015。 微信小程序支持絕大部分ES6的新增特性。 使用ES6新特性開發(fā)微信小程序(1) ES6新特性:Cons...
摘要:經(jīng)常會用到的的知識點(diǎn)提到我們就來說說,也是誕生,它的初始名叫。又名,在,和大受重用。年,負(fù)責(zé)制定規(guī)范草案的委員會決定將定義新標(biāo)準(zhǔn)的制度改為一年一次出現(xiàn)。它們在規(guī)范的先前版本中被稱為模板字符串。它與數(shù)組非常相似,但是數(shù)據(jù)結(jié)構(gòu)的成員都是唯一的。 經(jīng)常會用到的es6的知識點(diǎn) 提到es6我們就來說說javascript,es6也是ES2015 1995:JavaScript誕生,它的初始名叫...
摘要:將對象的屬性拷貝到了對象,合并成一個新的對象。而這種行為也是新增的標(biāo)準(zhǔn)??偨Y(jié)本章講解了對象字面量語法拓展,新增方法,允許重復(fù)的對象字面量屬性,自有枚舉屬性排序,增強(qiáng)對象原型,明確了方法的定義。但是,就算把全部新增的功能記住也不是難事。 變量功能被加強(qiáng)了、函數(shù)功能被加強(qiáng)了,那么作為JavaScript中最普遍的對象,不加強(qiáng)對得起觀眾嗎? 對象類別 在ES6中,對象分為下面幾種叫法。(不需...
閱讀 3781·2021-08-30 09:47
閱讀 3718·2019-08-30 15:56
閱讀 684·2019-08-30 14:18
閱讀 704·2019-08-29 16:17
閱讀 2071·2019-08-29 11:07
閱讀 649·2019-08-26 13:53
閱讀 3456·2019-08-26 10:26
閱讀 2502·2019-08-23 18:30