在 ES2018 中据过,函數已經是一個很復雜的體系了崎页,有以下幾種函數
第一種,普通函數:用 function 關鍵字定義的函數困檩。示例:
function foo(){ ... }
第二種祠挫,箭頭函數:用 => 運算符定義的函數。
const foo = () => { ... }
第三種悼沿,方法:在 class 中定義的函數等舔。
class C {
foo(){
...
}
}
第四種,生成器函數:用 function * 定義的函數糟趾。
function* foo(){
...
}
第五種慌植,類:用 class 定義的類甚牲,實際上也是函數。
class Foo {
constructor(){
...
}
}
第六 種蝶柿,異步函數:
普通函數丈钙、箭頭函數和生成器函數前加上 async 關鍵字
async function foo(){
...
}
const foo = async () => {
...
}
async function foo*(){
...
}