日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

es6中class类的全方面理解(三)------静态方法

發布時間:2023/12/19 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 es6中class类的全方面理解(三)------静态方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

不需要實例化類,即可直接通過該類來調用的方法,即稱之為“靜態方法”。將類中的方法設為靜態方法也很簡單,在方法前加上static關鍵字即可。這樣該方法就不會被實例繼承!

class Box{static a(){return "我是Box類中的,實例方法,無須實例化,可直接調用!"} } //通過類名直接調用 console.log(Box.a());//我是Box類中的,實例方法,無須實例化,可直接調用!

上面的代碼一,類Box的a方法前有static關鍵字, 表明該方法是一個靜態方法, 可以直接在Box類上調用。靜態方法只能在靜態方法中調用,不能在實例方法中調用。

class Box{static a(){return "我只允許被靜態方法調用哦!"}static b(){//通過靜態方法b來調用靜態方法aconsole.log(this.a());} } Box.b();//輸出:我只允許被靜態方法調用 哦

通過實例方法來調靜態方法會報錯:

class Box{static a(){return "我只允許被靜態方法調用哦!"}b(){console.log(this.a());//TypeError: this.a is not a function } } var obj=new Box(); obj.b();

父類的靜態方法, 可以被子類繼承:

class Box {static a() {//父類Box的靜態方法return '我是父類的靜態方法a';} } class Desk extends Box {} //子類Desk可以直接調用父類的靜態方法a console.log(Desk.a());

倘若想通過子類的靜態方法調用父類的靜態方法,需要從super對象上調用:

class Box {static a() {return '我是通過super來調取出來的';} } class Desk extends Box {static a(){return super.a();} } console.log(Desk.a());
靜態屬性

靜態屬性指的是 Class 本身的屬性, 即Class.propname, 而不是定義在實例對象( this) 上的屬性。

class Box{constructor(){this.name="實例屬性"} } Box.prop1="靜態屬性1"; Box.prop2="靜態屬性2"; console.log(Box.prop1,Box.prop2);//靜態屬性1 靜態屬性2

?

轉載于:https://www.cnblogs.com/catbrother/p/9397193.html

總結

以上是生活随笔為你收集整理的es6中class类的全方面理解(三)------静态方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。