何時(shí)在ECMAScript 6中使用Arrow函數(shù)?這個(gè)問(wèn)題是針對(duì)那些在即將推出的ECMAScript 6(和諧)背景下思考過(guò)代碼風(fēng)格的人,他們已經(jīng)使用過(guò)該語(yǔ)言。帶著() => {}和function () {}我們得到了兩種在ES6中編寫(xiě)函數(shù)的非常相似的方法。在其他語(yǔ)言中,lambda函數(shù)通常是匿名的,但在ECMAScript中,任何函數(shù)都可以是匿名的。這兩種類(lèi)型中的每一種都有唯一的使用域(即this需要顯式綁定或顯式不綁定)。在這些域之間有大量的例子,其中任何一種符號(hào)都可以。ES6中的箭頭函數(shù)至少有兩個(gè)限制:不要和我一起工作new固定this綁定到初始化時(shí)的作用域撇開(kāi)這兩個(gè)限制不談,箭頭函數(shù)理論上幾乎可以代替常規(guī)函數(shù)。在實(shí)踐中使用它們的正確方法是什么?如果使用箭頭函數(shù),例如:“無(wú)處不在”,也就是說(shuō),任何地方的函數(shù)都不一定是不可知的。this變量,而不是創(chuàng)建對(duì)象。只有“需要它們的任何地方”,即需要綁定到特定范圍的事件偵聽(tīng)器、超時(shí)。使用“短”函數(shù),而不是“長(zhǎng)”函數(shù)僅適用于不包含其他箭頭函數(shù)的函數(shù)。我正在尋找的是在ECMAScript的未來(lái)版本中選擇適當(dāng)?shù)暮瘮?shù)符號(hào)的指南。指南需要明確,這樣才能向團(tuán)隊(duì)中的開(kāi)發(fā)人員傳授它,并且要保持一致,這樣它就不需要不斷地從一個(gè)函數(shù)符號(hào)重構(gòu)到另一個(gè)函數(shù)表示法。
何時(shí)在ECMAScript 6中使用Arrow函數(shù)?
烙印99
2019-05-30 15:52:59