国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

es6基礎0x010:增強的對象字面量

fox_soyoung / 2309人閱讀

摘要:概述在中,對象字面量的語法被增強了更短的屬性聲明如果屬性的屬性名和屬性值引用的變量名一致,可以直接省略之前更短的函數聲明如果屬性的屬性名和屬性值函數的函數名一致或者屬性值函數沒有函數名,可以省略關鍵字和屬性名之前可動態計算的屬性名屬性名可以

0x000 概述

es6中,對象字面量的語法被增強了

0x001 更短的屬性聲明

如果屬性的屬性名和屬性值引用的變量名一致,可以直接省略

let name="jack"
// es6之前
var obj={name:name} // {name:"jack"}
// es6 
let obj={name}  // {name:"jack"}
0x002 更短的函數聲明

如果屬性的屬性名和屬性值(函數)的函數名一致或者屬性值(函數)沒有函數名,可以省略function關鍵字和屬性名

// 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 可動態計算的屬性名

屬性名可以動態變化

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
}

翻譯后可以發現,使用的是 Object.defineProperty實現的

"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);

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/99254.html

相關文章

  • es6基礎0x011:Set

    摘要:概述是一個新的數據結構,和其他語言的特性差不多,當然,作為中的,他還是有一些屬于的特點。 0x000 概述 Set是一個新的數據結構,和其他語言的特性差不多,當然,作為js中的Set,他還是有一些屬于js的特點。 0x001 初始化 new Set([iterable]); 初始化一個Set有一個可選的參數,這個參數必須是一個可迭代的對象,可迭代對象包括String、Array、Arr...

    jsyzchen 評論0 收藏0
  • es6模板字符串、增強對象字面、解構賦值

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

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

    摘要:使用新特性開發微信小程序國際化與本地化新特性國際化與本地化新增了很多對于國際化的支持,比如時間格式,貨幣格式,數字格式等。 ECMAScript 6(簡稱ES6)是JavaScript語言的最新標準。因為當前版本的ES6是在2015年發布的,所以又稱ECMAScript 2015。 微信小程序支持絕大部分ES6的新增特性。 使用ES6新特性開發微信小程序(1) ES6新特性:Cons...

    Backache 評論0 收藏0
  • 經常會用到es6知識點

    摘要:經常會用到的的知識點提到我們就來說說,也是誕生,它的初始名叫。又名,在,和大受重用。年,負責制定規范草案的委員會決定將定義新標準的制度改為一年一次出現。它們在規范的先前版本中被稱為模板字符串。它與數組非常相似,但是數據結構的成員都是唯一的。 經常會用到的es6的知識點 提到es6我們就來說說javascript,es6也是ES2015 1995:JavaScript誕生,它的初始名叫...

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

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

    baihe 評論0 收藏0

發表評論

0條評論

fox_soyoung

|高級講師

TA的文章

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