怎么在ES6中定義一個類和對象?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
網站建設哪家好,找成都創新互聯公司!專注于網頁設計、網站建設、微信開發、成都微信小程序、集團企業網站建設等服務項目。為回饋新老客戶創新互聯還提供了磐安免費建站歡迎大家使用!類的基本定義和生成實例:
// 類的基本定義和生成實例 class Parent{ //定義一個類 constructor(name='xiaxaioxian'){ this.name= name; } } // 生成一個實例 let g_parent = new Parent(); console.log(g_parent); //{name: "xiaxaioxian"} let v_parent = new Parent('v') // 'v'就是構造函數name屬性 , 覆蓋構造函數的name屬性值 console.log(v_parent); // {name: "v"}
繼承
// 繼承 class Parent{ //定義一個類 constructor(name='xiaxaioxian'){ this.name= name; } } class Child extends Parent{ } console.log('繼承',new Child()) // 繼承 {name: "xiaxaioxian"}
繼承傳遞參數
// 繼承傳遞參數 class Parent{ //定義一個類 constructor(name='xiaxaioxian'){ this.name= name; } } class Child extends Parent{ constructor(name = 'child'){ // 子類重寫name屬性值 super(name); // 子類向父類修改 super一定放第一行 this.type= 'preson'; } } console.log('繼承',new Child('hello')) // 帶參數覆蓋默認值 繼承{name: "hello", type: "preson"}
ES6重新定義的ES5中的訪問器屬性
class Parent{ //定義一個類 constructor(name='xiaxaioxian'){ this.name= name } get longName(){ // 屬性 return 'mk' + this.name } set longName(value){ this.name = value } } let v = new Parent(); console.log('getter',v.longName) // getter mkxiaxaioxian v.longName = 'hello'; console.log('setter',v.longName) // setter mkhello
類的靜態方法:
class Parent{ //定義一個類 constructor(name='xiaxaioxian'){ this.name= name } static tell(){ // 靜態方法:通過類去調用,而不是實例 console.log('tell') } } Parent.tell(); // tell
類的靜態屬性:
// 靜態屬性 class Parent{ //定義一個類 constructor(name='xiaxaioxian'){ this.name= name } static tell(){ // 靜態方法:通過類去調用,而不是實例 console.log('tell') // tell } } Parent.type = 'test'; // 定義靜態屬性 console.log('靜態屬性',Parent.type) // 靜態屬性 test let v_parent = new Parent(); console.log(v_parent); // {name: "xiaxaioxian"} 沒有tell方法和type屬性
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創新互聯行業資訊頻道,感謝您對創新互聯的支持。
網頁名稱:怎么在ES6中定義一個類和對象-創新互聯
文章位置:http://m.newbst.com/article12/dehjdc.html
成都網站建設公司_創新互聯,為您提供服務器托管、品牌網站制作、移動網站建設、Google、外貿網站建設、品牌網站設計
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯