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

資訊專欄INFORMATION COLUMN

ES6 static相關(guān)

ISherry / 1532人閱讀

摘要:中新增了這個(gè)語法糖。在方法前加上關(guān)鍵字。這樣讓人很容易忽略這個(gè)靜態(tài)屬性,也不符合相關(guān)代碼應(yīng)該放在一起的代碼組織原則。另外,新寫法是顯式聲明,而不是賦值處理,語義更好。

ES6中新增了class這個(gè)語法糖。此class并非java中的class,ES6中的class寫法只是讓對象原型的寫法更加清晰、更像面向?qū)ο缶幊痰恼Z法而已。其中有static關(guān)鍵字。
static關(guān)鍵字多用于靜態(tài)方法和靜態(tài)屬性。

靜態(tài)方法

不同于普通在類中定義的會被實(shí)例繼承的方法。在方法前加上static關(guān)鍵字。就表示該方法不會被實(shí)例繼承,而是直接通過類來調(diào)用,這就稱為“靜態(tài)方法”。
class Foo {
  static classMethod() {
    return "hello";
  }
}

Foo.classMethod() // "hello"

var foo = new Foo();
foo.classMethod()
// TypeError: foo.classMethod is not a function

Foo類的classMethod方法前有static關(guān)鍵字,表明該方法是一個(gè)靜態(tài)方法,可以直接在Foo類上調(diào)用(Foo.classMethod()),而不是在Foo類的實(shí)例上調(diào)用。如果在實(shí)例上調(diào)用靜態(tài)方法,會拋出一個(gè)錯(cuò)誤,表示不存在該方法。

靜態(tài)屬性
靜態(tài)屬性指的是 Class 本身的屬性,即Class.propName,而不是定義在實(shí)例對象(this)上的屬性。

// 老寫法
class Foo {
  // ...
}
Foo.prop = 1;

// 新寫法
class Foo {
  static prop = 1;
}

上面代碼中,老寫法的靜態(tài)屬性定義在類的外部。整個(gè)類生成以后,再生成靜態(tài)屬性。這樣讓人很容易忽略這個(gè)靜態(tài)屬性,也不符合相關(guān)代碼應(yīng)該放在一起的代碼組織原則。另外,新寫法是顯式聲明(declarative),而不是賦值處理,語義更好。

總結(jié)參考于:阮一峰ES6http://es6.ruanyifeng.com/#do...

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/109666.html

相關(guān)文章

  • vue-cli + es6 多頁面項(xiàng)目開發(fā)及部署

    摘要:前段時(shí)間項(xiàng)目組計(jì)劃快速開發(fā)一個(gè)新的項(xiàng)目,開發(fā)那邊提供殼子和部分系統(tǒng)級功能,所有的頁面由完成,考慮兼容性安卓及。后面會繼續(xù)優(yōu)化,先把目前的基本部署方式記錄下來。 前段時(shí)間項(xiàng)目組計(jì)劃快速開發(fā)一個(gè)新的App項(xiàng)目,App開發(fā)那邊提供殼子和部分系統(tǒng)級功能,所有的頁面由h5完成,考慮兼容性安卓4.1及ios7.1。全新的項(xiàng)目,沒有歷史包袱,就嘗試了新的開發(fā)模式,采用了webpack + vue-c...

    felix0913 評論0 收藏0
  • React Native填坑之旅--class(番外篇)

    摘要:構(gòu)造函數(shù)定義偵探類作為例子。里的既是類的定義,也是構(gòu)造函數(shù)。在構(gòu)造函數(shù)中定義的實(shí)例方法和屬性在每一個(gè)實(shí)例中都會保留一份,而在原型中定義的實(shí)例方法和屬性是全部實(shí)例只有一份。 無論React還是RN都已經(jīng)邁入了ES6的時(shí)代,甚至憑借Babel的支持都進(jìn)入了ES7。ES6內(nèi)容很多,本文主要講解類相關(guān)的內(nèi)容。 構(gòu)造函數(shù) 定義偵探類作為例子。 ES5的類是如何定義的。 function ES5D...

    TwIStOy 評論0 收藏0
  • ES6學(xué)習(xí)總結(jié)(三)

    摘要:不同于其他面向?qū)ο笳Z言,以前的中中沒有類的概念,主要是通過原型的方式來實(shí)現(xiàn)繼承,中引入了原型鏈,并且將原型鏈用來實(shí)現(xiàn)繼承,其核心是利用原型使得一個(gè)對象繼承另一個(gè)對象的方法和屬性,中原型繼承的關(guān)鍵是將一個(gè)實(shí)例的原型對象指向另一個(gè)實(shí)例,因此前一 不同于其他面向?qū)ο笳Z言,ES6以前的JavaScript中中沒有class類的概念,主要是通過原型的方式來實(shí)現(xiàn)繼承,JavaScript中引入了原...

    baoxl 評論0 收藏0
  • 揭秘babel的魔法之class魔法處理

    摘要:年,很多人已經(jīng)開始接觸環(huán)境,并且早已經(jīng)用在了生產(chǎn)當(dāng)中。我們發(fā)現(xiàn),關(guān)鍵字會被編譯成構(gòu)造函數(shù),于是我們便可以通過來實(shí)現(xiàn)實(shí)例的生成。下一篇文章我會繼續(xù)介紹如何處理子類的并會通過一段函數(shù)橋梁,使得環(huán)境下也能夠繼承定義的。 2017年,很多人已經(jīng)開始接觸ES6環(huán)境,并且早已經(jīng)用在了生產(chǎn)當(dāng)中。我們知道ES6在大部分瀏覽器還是跑不通的,因此我們使用了偉大的Babel來進(jìn)行編譯。很多人可能沒有關(guān)心過,...

    wqj97 評論0 收藏0
  • JavaScript => TypeScript 類入門

    摘要:靜態(tài)屬性靜態(tài)方法目前支持靜態(tài)方法表示,類屬性及靜態(tài)屬性目前作為提案還未正式成為標(biāo)準(zhǔn)。在中,抽象類不能用來實(shí)例化對象,主要做為其它派生類的基類使用。不同于接口,抽象類可以包含成員的實(shí)現(xiàn)細(xì)節(jié)。中也是這樣規(guī)定的抽象類不允許直接被實(shí)例化。 嘗試重寫 在此之前,通過《JavaScript => TypeScript 入門》已經(jīng)掌握了類型聲明的寫法。原以為憑著那一條無往不利的規(guī)則,就可以開開心心的...

    geekidentity 評論0 收藏0

發(fā)表評論

0條評論

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