es6 最佳入門實踐 12

2022-08-19 19:03:15 字數 1329 閱讀 1165

在es5中,物件導向我們通常寫成這樣

function person(name,age) 

person.prototype.showname = function () ;

let p = new person("xiaoqiang", 10);

p.showname();

上面這種寫法與傳統的物件導向寫法有很大的不同,讓學習過其他物件導向語言的同學感到很彆扭,因此,在es6中,增加了語法糖,使用class關鍵字來定義類,這裡說的語法糖的意思簡單的理解就是另一種更便捷的寫法,編譯後的功能實際上是一樣的

下面是es6中定義類的語法:

class person

showname()

}let p = new person("xiaoqiang2", 10);

p.showname();

注意1: constructor是預設新增的方法,當new 關鍵字去呼叫類的時候,constructor會預設被執行,即使不寫這個constructor方法,也會預設新增乙個空方法

constructor(name, age)
注意2: 在類中寫的方法之間不能加逗號,否則會報錯

class person

showname(),

showage()

}let p = new person("xiaoqiang2", 10);

p.showname();

在es6中使用extends關鍵字來實現繼承

class parent

showname()

}//child去繼承 parent

class child extends parent

let c = new child('nodeing', 20);

console.log(c);

上面**就是繼承的基本寫法,只是我們並沒有在子類中去增加方法,此時,子類相當於去拷貝了父類

注意1: 在子類中如果重寫父類的constructor方法,需要首先呼叫supper方法

class parent

showname()

}class child extends parent

}let c = new child('nodeing', 20);

console.log(c);

注意2: 如果這樣寫會報錯:

class child extends parent

}

es6 最佳入門實踐 6

symbol是es6中一種新增加的資料型別,它表示獨一無二的值。es5中我們把資料型別分為基本資料型別 字串 數字 布林 undefined null 和引用資料型別 object 在es6中新增的symbol資料型別劃分到基本資料型別 為什麼會有這樣一種資料型別呢?別人給了你乙個定義好的物件 va...

es6 最佳入門實踐 10

generator函式是es6提供的一種非同步程式設計解決方案。在它的內部封裝了多個狀態,因此,又可以理解為一種狀態機,執行generator函式後返回乙個迭代器物件,使用這個迭代器物件可以遍歷出generator函式內部的狀態 generator函式和傳統函式的不同點有 1 函式定義的時候,fun...

es6 最佳入門實踐 8

要理解非同步,首先,從同步 開始說 alert 1 alert 2 像上面的 執行順序是從上到下,先後彈出1和2,這種 叫做同步 alert 0 settimeout function 2000 settimeout function 1000 alert 3 上面 的彈出順序是 0 3 2 1 像...