1. 程式人生 > >ES6 中的繼承

ES6 中的繼承

person clas this 調用父類 ron tor delete 沒有 使用

ES6 繼承 (逼格最高,也是未來的趨勢,必學必用)

知識點:
class  類
ES6給我們提供了class的語法糖,可以通過class來創建類
 1       class Person {//此行沒有括號,在第二行constructor()傳參
 2           constructor(name,age){
 3               this.name = name;
 4               this.age = age;
 5           }
 6           /*下面的寫法就等同於把方法掛在原型上*/
 7           static say(){//
加了static 靜態方法,只給類用的方法 8 console.log(‘哈哈‘); 9 }//方法和方法之間不用加逗號 , 10 say(){//動態方法,給實例使用的方法 11 console.log(this.name); 12 } 13 } 14 15 let p = new Person(‘成龍‘,20); 16 p.say();//成龍

聲明子類 extends 父類名 就繼承父類了

 1      class Coder extends Person {
2 /* 3 在子類constructor中添加屬性的小技巧 4 5 專屬於子類的屬性寫在參數的前面,父類的屬性放在後面 6 這樣一來,就能直接使用...arg 7 8 ...arg 9 把函數中的多余的參數放入數組中體現出來。 10 11 */ 12 constructor(job,...arg){ 13 // console.log(this) 14 super(...arg); //
等同於調用父類,把多余的參數(和父類一樣的屬性)放到super中,達到繼承父類屬性的目的 15 /* 16 在繼承裏,寫constructor必須寫super 17 super下面才能使用this,super有暫存死區(super上面不能使用this,用了就報錯) 18 */ 19 this.job = job;//自己私有的屬性,直接this點即可 20 console.log(arg); 21 } 22 codeing(){ 23 console.log(‘敲代碼‘); 24 } 25 say(){ 26 console.log(‘哈哈‘); 27 } 28 29 } 30 31 let c = new Coder(‘前端‘,‘周傑倫‘,20); 32 let p = new Person(‘張傑‘,30); 33 // delete c.name; 34 console.log(c); 35 // c.say(); 36 // p.say(); 37 // c.codeing();

ES6 中的繼承