您好,登錄后才能下訂單哦!
小編給大家分享一下ES6中類和對象的示例,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
1.基本定義和生成實例
{ class Parent { constructor(name = 'haha') { this.name = name; } } let parent = new Parent('v'); console.log('構造函數和實例', parent); // Parent {name: "v"} }
2.繼承
{ class Parent { constructor(name = 'haha') { this.name = name; } } class Child extends Parent { } console.log('繼承', new Child()); // Child {name: "haha"} }
3.繼承傳遞參數
{ class Parent { constructor(name = 'haha') { this.name = name; } } class Child extends Parent { constructor(name = 'child') { // super()方法,用來解決 繼承怎么傳遞參數(怎么覆蓋父類的參數) // super的參數列表就是父類構造函數的參數列表,如果參數為空,就采用父類的參數默認值 super(name); // super必須放在構造函數第一行 this.type = 'child'; } } console.log('繼承傳遞參數', new Child('hello')); // Child {name: "hello", type: "child"} }
4.getter setter
{ class Parent { constructor(name = 'haha') { this.name = name; } // longName 是一個屬性,不是方法 get longName() { return 'lu-' + this.name; } // longName 是一個屬性,不是方法 set longName(value) { this.name = value; } } let person = new Parent(); console.log('getter', person.longName); // lu-haha person.longName = 'hello'; console.log('setter', person.longName); // lu-hello }
5.靜態方法
{ class Parent { constructor(name = 'haha') { this.name = name; } // static 關鍵字用來定義靜態方法 static tell() { console.log('do tell'); } } // 靜態方法,直接通過類去調用,不是通過實例 Parent.tell(); // do tell }
6.靜態屬性
{ class Parent { constructor(name = 'haha') { this.name = name; } } // 直接在類上定義靜態屬性 Parent.type = 'test'; // 讀取靜態屬性時,也是直接拿類讀取 console.log(Parent.type); // test }
看完了這篇文章,相信你對“ES6中類和對象的示例”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。