輕鬆手上ES6中的箭頭函數!(告別複雜的講解,快速掌握ES6最核心的部分!)

ES6中的箭頭函數(之前確實是通過阮一峯老師的書籍學過,但是學的很模糊哦,嗚嗚嗚)

基本語法:(參數)=>{函數內容}

注意:箭頭必須和參數在同一行(顯然這也是必要的)

如果只有一個參數,則括號()可以省略,如果函數只有一個語句,則{}可以省略,另外後者的寫法將會默認return其屬性但不需要手寫return(但是這個寫法,在返回對象爲{}對象字面量(注意此處對象的含義,咳咳)時必須加上return語句,以免造成語句的歧義)

()=>{return {AX:666}};

箭頭函數常用在將函數作爲另一個函數的參數時使用,比如用在setTimeout以及setTimeIntervals

箭頭函數有以下幾個特點:

1.不綁定this

這意味着在箭頭函數中的this總是指向上一作用域之中,也就是指向之前作用域所指向的對象(若之前也沒有,就沿着作用域鏈往上搜索this)

因此,在定義方法時,如果想要使用箭頭函數,那麼這個函數儘量不要使用到this,或者要使用,也必須要確保使用的this是上一作用域的。

2.沒有arguments對象

不能通過arguments對象來調用輸入參數。

個人認爲箭頭函數一般都是寫死在屬性中,或者本身就是參數,也就沒有一定要明確輸入參數的必要。

3.不能作爲生成器和構造器:

也就是說因爲箭頭函數沒有this,沒法構造對象和生成對象(箭頭函數不能使用yield關鍵字)

4.沒有原型

let fn=()=>{};
console.log(fn.propotype);//undefinded
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章