ES6中箭頭函式加不加大括號的區別

2021-10-01 09:28:51 字數 767 閱讀 3788

雖然經常使用箭頭函式,但是沒有對其進行深度的**,然而最近在學

react的相關知識的時候,發現裡面用到了許多箭頭函式的寫法。

後台列印結果顯示,r1和r3能有結果顯示,但是r2卻出現了undefined;

箭頭函式後面沒有加大括號並且只有一行**返回,是會預設return的;

而箭頭函式後面加了大括號,則不會預設return

如果要返回乙個物件,就要注意,如果是單表示式,這麼寫的話會報錯:

// syntaxerror:

x =>

因為和函式體的有語法衝突,所以要改為:

// ok:

x => ()

詳細介紹可以參考廖雪峰老師對於箭頭函式的介紹

es6 箭頭函式後面的大括號

let res r1,r2 r1 r2 let res2 r1,r2 let res3 r1,r2 let r1 res 1,2 let r2 res2 1,2 let r3 res3 1,2 列印出來發現 r1,r3 正確的,r2為 undefined,箭頭函式後面不加大括號,預設只能有一行 預設...

ES6中箭頭函式的作用

那為什麼在es6中引入了箭頭函式呢?最主要的目的就是解決this指標的問題。我們知道在es6中,我們可以建立乙個class,如果我們預設在其裡面加入乙個函式的話,其必須在呼叫的時候,必須繫結this指標,否則不能訪問當前類的例項裡面的屬性。下面舉乙個具體的例子,為什麼其能解決this指標的問題。比如...

ES6中箭頭函式中的this指向

箭頭函式的this指向與一般的function函式定義不同 箭頭函式的this定義 是在定義函式的時候繫結,而不是在執行的時候繫結 何為執行時繫結 來看下面的例子 let a 1 let obj obj.sayhi 輸出的是2一般的定義函式執行的時候決定this的執行,我們不難看出obj.say 的...