定義類的方法的時候,前面不需要加上function關鍵字,直接把函式定義放進去就可以了,另外方法之間不需要逗號分隔,不然會報錯。
類的資料型別是函式,類本身就指向建構函式。
類的所有方法都定義在類的prototype屬性上面。
類內部多有定義的方法都是不可列舉的。
constructor方法是類的預設方法,通過new命令產生例項時,自動呼叫該方法。
乙個類必須有constructor方法,如果沒有顯式定義,這個方法會預設新增。
constructor方法預設返回例項物件(this),也可以指定返回另外乙個物件
通過使用new命令,生成例項。
例項的屬性除非顯式定義其本身(定義this物件上),否則定義在原型上(定義class上)
class可以通過extends關鍵字實現繼承
子類必須在constructor方法中呼叫super方法。
子類自己的this物件,必須通過父類的建構函式完成塑造,得到父類同樣的例項屬性和方法,然後再對其加工,加上子類自己的例項屬性和方法,生成子類自己的this物件。
注意:在子類的建構函式中,只有呼叫super之後,才可以使用this關鍵字,這是因為子類例項的構建基於父類的例項,只有super方法才能呼叫父類例項
在普通函式中this不是函式宣告的時候定義的,而是函式呼叫的時候定義的。
箭頭函式沒有自己的this,導致內部的this就是外層**塊的this。
ES6中的class類詳解
目錄 一 class簡介 二 靜態方法和靜態屬性 2.1 靜態方法 2.2 靜態屬性 三 class繼承extends 四 class的取值函式getter和存值函式setter 五 super關鍵字 六 注意事項 傳統的js只有物件的概念,沒有class類的概念,因為js是基於原型的物件導向語言,...
es6中class類的使用
在es5中我們是使用建構函式例項化出來乙個物件,那麼建構函式與普通的函式有什麼區別呢?其實沒有區別,無非就是函式名稱用首字母大寫來加以區分,這個不用對說對es5有了解的朋友都應該知道。但是es5的這種方式給人的感覺還是不夠嚴謹,於是在es6中就換成了class,就是把es5中的function換成了...
ES6中的類 Class 的寫法
1.傳統es5中的class用法 es5的對應寫法 function 定義原型方法 user.prototype.show function 定義靜態方法 user.run function window.user user 1.es6中的class用法 class user 原型方法 show 靜...