博客 / 詳情

返回

[JS] 類 class入門使用

class是用於創建對象的模板。
(在js中構造函數也能批量創建對象,要注意函數有聲明提升,而類沒有聲明提升,必須先定義類,在創建類的實例)

定義Animal類。類也是一個函數。
image.png
typeof(Animal) // function
image.png
對一個類本身來説,要注意以下四點:
1、構造函數constructor,這個函數用户在創建實例的時候傳入參數。(new Animal("Jerry", 5))
2、方法,構造函數內部定義方法不需要function關鍵字。
3、setter、getter。setter和getter都是有特殊功能的屬性,定義的時候分別使用set 關鍵字和get 關鍵字來定義,這二者定義的形式很像函數,但它們的用法都是屬性的用法(object.key = value)
4、靜態方法,在一個靜態方法裏調用另一個靜態方法可以使用this,這裏的this不綁定實例,而是綁定類本身;靜態方法要用類調用,而不能用實例調用。
image.png

子類 (使用 extends 創建子類)
image.png
要注意:
1、子類的constructor函數中如果需要使用this,必須先執行super()方法初始化this。super初始化的參數應與父類constructor的參數相同,這樣創建子類實例的時候才能對應上。
2、子類中與父類的同名方法是覆蓋關係,即子類方法覆蓋父類方法。
3、子類與父類同名getter和setter是覆蓋關係。
4、子類與父類的同名靜態方法也是覆蓋關係。

user avatar zzd41 頭像 lantianhaijiao 頭像 joytime 頭像 dexteryao 頭像
4 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.