成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

es6基礎(chǔ)0x010:增強(qiáng)的對象字面量

fox_soyoung / 2316人閱讀

摘要:概述在中,對象字面量的語法被增強(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

相關(guān)文章

  • es6基礎(chǔ)0x011:Set

    摘要:概述是一個新的數(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...

    jsyzchen 評論0 收藏0
  • es6模板字符串、增強(qiáng)對象字面、解構(gòu)賦值

    摘要:模板字符串增強(qiáng)的對象字面解構(gòu)賦值模板字面量是允許嵌入表達(dá)式的字符串字面量。它們在規(guī)范的先前版本中被稱為模板字符串。 es6模板字符串、增強(qiáng)的對象字面、解構(gòu)賦值 模板字面量 是允許嵌入表達(dá)式的字符串字面量。你可以使用多行字符串和字符串插值功能。它們在ES2015規(guī)范的先前版本中被稱為模板字符串。 var str = `I Love you`...

    laznrbfe 評論0 收藏0
  • 使用ES6新特性開發(fā)微信小程序

    摘要:使用新特性開發(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...

    Backache 評論0 收藏0
  • 經(jīng)常會用到es6知識點(diǎn)

    摘要:經(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誕生,它的初始名叫...

    asce1885 評論0 收藏0
  • 《深入理解ES6》筆記——擴(kuò)展對象功能性(4)

    摘要:將對象的屬性拷貝到了對象,合并成一個新的對象。而這種行為也是新增的標(biāo)準(zhǔn)??偨Y(jié)本章講解了對象字面量語法拓展,新增方法,允許重復(fù)的對象字面量屬性,自有枚舉屬性排序,增強(qiáng)對象原型,明確了方法的定義。但是,就算把全部新增的功能記住也不是難事。 變量功能被加強(qiáng)了、函數(shù)功能被加強(qiáng)了,那么作為JavaScript中最普遍的對象,不加強(qiáng)對得起觀眾嗎? 對象類別 在ES6中,對象分為下面幾種叫法。(不需...

    baihe 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<