欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

es6中class類靜態(tài)方法,靜態(tài)屬性,實例屬性,實例方法的理解與應用分析

 更新時間:2020年02月15日 11:08:24   作者:qdmoment  
這篇文章主要介紹了es6中class類靜態(tài)方法,靜態(tài)屬性,實例屬性,實例方法的理解與應用,結(jié)合實例形式分析了es6 class類靜態(tài)方法,靜態(tài)屬性,實例屬性,實例方法相關(guān)概念、原理、用法及相關(guān)操作注意事項,需要的朋友可以參考下

本文實例講述了es6中class類靜態(tài)方法,靜態(tài)屬性,實例屬性,實例方法。分享給大家供大家參考,具體如下:

es6新增了一種定義對象實例的方法,使用class關(guān)鍵字定義類,與class相關(guān)的知識點也逐步火熱起來,但是部分理解起來相對抽象,簡單對class相關(guān)的知識點進行總結(jié),更好的使用class。對于基本概念,請參見阮一峰老師的es6入門教程。本文主要總結(jié)class靜態(tài)相關(guān)。

關(guān)于類有兩個概念,1,類自身,;2,類的實例對象

總的來說:靜態(tài)的是指向類自身,而不是指向?qū)嵗龑ο?,主要是歸屬不同,這是靜態(tài)屬性的核心。

難點1:靜態(tài)方法的理解

class Foo {
 static classMethod() {
  return 'hello';
 }
}

靜態(tài)方法使用:在方法前加上static關(guān)鍵字

為什么使用靜態(tài)方法:阻止方法被實例繼承,類的內(nèi)部相當于實例的原型,所有在類中直接定義的方法相當于在原型上定義方法,都會被類的實例繼承,但是使用static靜態(tài)方法定義的不會被實例繼承,而且可以被實例直接應用Foo.classMethod(),此時寫成new Foo.classMethod()會提示不存在此方法

靜態(tài)方法中this指向:this指向類而不是類的實例

class Foo {
 static bar () {
  this.baz();
 }
 static baz () {
  console.log('hello');
 }
 baz () {
  console.log('world');
 }
}
Foo.bar() // hello

繼承相關(guān):靜態(tài)方法可以被子類繼承,也可以被super調(diào)用

難點2:靜態(tài)屬性的理解,以及和實例屬性的區(qū)別

理解了靜態(tài)的本質(zhì)就知道靜態(tài)屬性是class類自身的屬性

相對的實例屬性是指類的實例的屬性,調(diào)用時使用 new Foo().'屬性名'

定義實例屬性的方法:2種

類的實例屬性可以用等式,寫入類的定義之中

1,在類中定義

class MyClass {
 myProp = 42;
 constructor() {
  console.log(this.myProp); // 42
 }
}
//上面代碼中,myProp就是MyClass的實例屬性。在MyClass的實例上,可以讀取這個屬性。

2,在constructor中定義(react中經(jīng)典寫法)

class ReactCounter extends React.Component {
 constructor(props) {
  super(props);
  this.state = {
   count: 0
  };
 }
}

//等價于
class ReactCounter extends React.Component {
 state = {
  count: 0
 };
}

定義靜態(tài)方法,

1,就和普通的Object添加屬性一樣,object.a = a;(目前唯一一種方法)

缺點:老寫法的靜態(tài)屬性定義在類的外部。整個類生成以后,再生成靜態(tài)屬性。容易忽略

2,靜態(tài)屬性的提案: 相對于實例方法定義,在定義實例方法的前面加上static關(guān)鍵字,該方法未發(fā)布

class MyClass {
 static myStaticProp = 42;
 constructor() {
  console.log(MyClass.myStaticProp); // 42
 }
}

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。

更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學運算用法總結(jié)

希望本文所述對大家JavaScript程序設計有所幫助。

相關(guān)文章

  • JavaScript必備的斷點調(diào)試技巧總結(jié)(推薦)

    JavaScript必備的斷點調(diào)試技巧總結(jié)(推薦)

    打斷點操作很簡單,核心的問題在于,斷點怎么打才能夠排查出代碼的問題所在呢?下面這篇文章主要給大家總結(jié)介紹了關(guān)于JavaScript必備的斷點調(diào)試技巧,需要的朋友可以參考下
    2021-09-09
  • JavaScript簡單下拉菜單特效

    JavaScript簡單下拉菜單特效

    這篇文章主要為大家詳細介紹了JavaScript簡單下拉菜單特效,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • 一文教你如何優(yōu)雅的使用WebSocket

    一文教你如何優(yōu)雅的使用WebSocket

    WebSocket最大特點就是服務器可以主動向客戶端推送信息,客戶端也可以主動向服務器發(fā)送信息,是真正的雙向平等對話,屬于服務器推送技術(shù)的一種,下面這篇文章主要給大家介紹了關(guān)于如何優(yōu)雅的使用WebSocket的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • JavaScript數(shù)組、json對象、eval()函數(shù)用法實例分析

    JavaScript數(shù)組、json對象、eval()函數(shù)用法實例分析

    這篇文章主要介紹了JavaScript數(shù)組、json對象、eval()函數(shù)用法,結(jié)合實例形式分析了JS數(shù)組創(chuàng)建、賦值、連接、翻轉(zhuǎn),json對象定義、讀取,eval()函數(shù)的功能、使用等,需要的朋友可以參考下
    2019-02-02
  • web網(wǎng)頁按比例顯示圖片實現(xiàn)原理及js代碼

    web網(wǎng)頁按比例顯示圖片實現(xiàn)原理及js代碼

    由于上傳圖片的大小是未知的,在顯示成縮略圖的時候必須進行按比例的縮放才能美觀地顯示,本文將為大家簡單的介紹一種比較不錯的方法,有此需求的朋友可以參考下
    2013-08-08
  • bootstrap fileinput插件實現(xiàn)預覽上傳照片功能

    bootstrap fileinput插件實現(xiàn)預覽上傳照片功能

    這篇文章主要介紹了bootstrap fileinput插件實現(xiàn)預覽上傳照片功能,代碼簡單易懂,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-01-01
  • 創(chuàng)建js對象和js類的方法匯總

    創(chuàng)建js對象和js類的方法匯總

    這篇文章主要介紹了2種創(chuàng)建js對象和js類的方法,十分的簡單,推薦給大家。
    2014-12-12
  • 對TypeScript庫進行單元測試的方法

    對TypeScript庫進行單元測試的方法

    這篇文章主要介紹了對TypeScript庫進行單元測試的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • js canvas實現(xiàn)紅包照片效果

    js canvas實現(xiàn)紅包照片效果

    這篇文章主要介紹了js canvas實現(xiàn)紅包照片效果
    2018-08-08
  • 購物車前端開發(fā)(jQuery和bootstrap3)

    購物車前端開發(fā)(jQuery和bootstrap3)

    針對購物車的操作,進行產(chǎn)品數(shù)量的增加減少,刪除購物車中產(chǎn)品項,本文使用JQuery1.11和bootstrap3進行購物車開發(fā),感興趣的小伙伴們
    2016-08-08

最新評論