摘要:中新增了這個語法糖。在方法前加上關鍵字。這樣讓人很容易忽略這個靜態屬性,也不符合相關代碼應該放在一起的代碼組織原則。另外,新寫法是顯式聲明,而不是賦值處理,語義更好。
ES6中新增了class這個語法糖。此class并非java中的class,ES6中的class寫法只是讓對象原型的寫法更加清晰、更像面向對象編程的語法而已。其中有static關鍵字。
static關鍵字多用于靜態方法和靜態屬性。
靜態方法:
不同于普通在類中定義的會被實例繼承的方法。在方法前加上static關鍵字。就表示該方法不會被實例繼承,而是直接通過類來調用,這就稱為“靜態方法”。 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關鍵字,表明該方法是一個靜態方法,可以直接在Foo類上調用(Foo.classMethod()),而不是在Foo類的實例上調用。如果在實例上調用靜態方法,會拋出一個錯誤,表示不存在該方法。
靜態屬性:
靜態屬性指的是 Class 本身的屬性,即Class.propName,而不是定義在實例對象(this)上的屬性。
// 老寫法 class Foo { // ... } Foo.prop = 1; // 新寫法 class Foo { static prop = 1; }
上面代碼中,老寫法的靜態屬性定義在類的外部。整個類生成以后,再生成靜態屬性。這樣讓人很容易忽略這個靜態屬性,也不符合相關代碼應該放在一起的代碼組織原則。另外,新寫法是顯式聲明(declarative),而不是賦值處理,語義更好。
總結參考于:阮一峰ES6http://es6.ruanyifeng.com/#do...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/109666.html
摘要:前段時間項目組計劃快速開發一個新的項目,開發那邊提供殼子和部分系統級功能,所有的頁面由完成,考慮兼容性安卓及。后面會繼續優化,先把目前的基本部署方式記錄下來。 前段時間項目組計劃快速開發一個新的App項目,App開發那邊提供殼子和部分系統級功能,所有的頁面由h5完成,考慮兼容性安卓4.1及ios7.1。全新的項目,沒有歷史包袱,就嘗試了新的開發模式,采用了webpack + vue-c...
摘要:構造函數定義偵探類作為例子。里的既是類的定義,也是構造函數。在構造函數中定義的實例方法和屬性在每一個實例中都會保留一份,而在原型中定義的實例方法和屬性是全部實例只有一份。 無論React還是RN都已經邁入了ES6的時代,甚至憑借Babel的支持都進入了ES7。ES6內容很多,本文主要講解類相關的內容。 構造函數 定義偵探類作為例子。 ES5的類是如何定義的。 function ES5D...
摘要:不同于其他面向對象語言,以前的中中沒有類的概念,主要是通過原型的方式來實現繼承,中引入了原型鏈,并且將原型鏈用來實現繼承,其核心是利用原型使得一個對象繼承另一個對象的方法和屬性,中原型繼承的關鍵是將一個實例的原型對象指向另一個實例,因此前一 不同于其他面向對象語言,ES6以前的JavaScript中中沒有class類的概念,主要是通過原型的方式來實現繼承,JavaScript中引入了原...
摘要:年,很多人已經開始接觸環境,并且早已經用在了生產當中。我們發現,關鍵字會被編譯成構造函數,于是我們便可以通過來實現實例的生成。下一篇文章我會繼續介紹如何處理子類的并會通過一段函數橋梁,使得環境下也能夠繼承定義的。 2017年,很多人已經開始接觸ES6環境,并且早已經用在了生產當中。我們知道ES6在大部分瀏覽器還是跑不通的,因此我們使用了偉大的Babel來進行編譯。很多人可能沒有關心過,...
摘要:靜態屬性靜態方法目前支持靜態方法表示,類屬性及靜態屬性目前作為提案還未正式成為標準。在中,抽象類不能用來實例化對象,主要做為其它派生類的基類使用。不同于接口,抽象類可以包含成員的實現細節。中也是這樣規定的抽象類不允許直接被實例化。 嘗試重寫 在此之前,通過《JavaScript => TypeScript 入門》已經掌握了類型聲明的寫法。原以為憑著那一條無往不利的規則,就可以開開心心的...
閱讀 1959·2021-09-04 16:45
閱讀 747·2019-08-30 15:44
閱讀 893·2019-08-30 13:07
閱讀 456·2019-08-29 16:06
閱讀 1374·2019-08-29 13:43
閱讀 1269·2019-08-26 17:00
閱讀 1526·2019-08-26 13:51
閱讀 2293·2019-08-26 11:48