本文實例講述了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 mkxiaxaioxianv.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) // 靜態屬性 testlet v_parent = new Parent();console.log(v_parent); // {name: "xiaxaioxian"} 沒有tell方法和type屬性感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.VeVB.COm/code/HtmlJsRun測試上述代碼運行效果。
更多關于JavaScript相關內容可查看本站專題:《javascript面向對象入門教程》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結》
希望本文所述對大家JavaScript程序設計有所幫助。
新聞熱點
疑難解答