如果你是一個使用JavaScript的初學者,或者你過去看過一些JavaScript代碼,你肯定見過箭頭函數(shù)。但是,您還看到了保留字函數(shù),并且可能已經(jīng)看到一些函數(shù)是使用 let 或 const 聲明的。這是因為在整個 JavaScript 的歷史中,有不同的方法來聲明和使用函數(shù)。
目前,您可以使用多種方法聲明函數(shù)。讓我給大家看一些例子:
聲明函數(shù)的不同方法:
除了最后一種方法之外,上述方法都不難理解。它真的是一種聲明函數(shù)的方法嗎?在哪里指定它是一個函數(shù)?使用箭頭是什么意思?如果你對我過去有過懷疑,請冷靜下來,因為你會完全理解箭頭功能的內(nèi)容,時間和原因。
所以,首先...
為什么存在箭頭函數(shù)?
2015 版的 ECMAScript 規(guī)范 (ES6) 添加了箭頭函數(shù),為語言提供了一種使用 lambda 函數(shù)(匿名函數(shù),允許我們在不命名它們的情況下編寫更快的函數(shù))的方法,就像其他語言一樣。通過這樣做,他們?yōu)檎Z言添加了新功能,并允許我們編寫更短的函數(shù)語法。此新功能的語法與 PHP lambda 函數(shù)非常相似。
“好吧,我能理解為什么,但我無法想象。箭頭函數(shù)到底是什么?
什么是箭頭函數(shù)?
箭頭函數(shù)只是使用胖箭頭聲明匿名函數(shù)的新方法。但是,箭頭函數(shù)在許多方面與傳統(tǒng)函數(shù)不同。正因為如此,它們在某些情況下非常有用,但我們不必濫用它們(例如,您不能使用箭頭函數(shù)作為構(gòu)造函數(shù),您必須注意在箭頭函數(shù)中使用它,但這些概念與本文的范圍相去甚遠)。
讓我們看看箭頭函數(shù)的結(jié)構(gòu)。
箭頭函數(shù)結(jié)構(gòu)
絕對值。箭頭函數(shù)是匿名的,你不能說出它的名字。例如,您可以在其他函數(shù)中將其用作回調(diào),也可以從保存該函數(shù)的變量中推斷其名稱。在這種情況下, absValue 保存函數(shù) (例如, 如果你想調(diào)用它, 你必須寫 absValue(5)) 。
(數(shù)字)。在括號后面,您將包括函數(shù)的參數(shù)。您可以使用一個或多個默認值...箭頭函數(shù)也不支持括號語法。
=> {}.胖箭頭和括號將向 JavaScript 指示它是一個箭頭函數(shù),該函數(shù)的語句位于何處。
返回。如果函數(shù)返回某些內(nèi)容,則必須使用保留字 return。但是,箭頭函數(shù)也支持隱式返回。
使用箭頭函數(shù)縮短代碼的方法
創(chuàng)建箭頭函數(shù)的原因之一是縮短代碼。正因為如此,如果我們使用箭頭函數(shù)來進一步縮短代碼,我們可以使用一些“技巧”:
隱式返回。我們可以省略大括號和 return 關鍵字,箭頭函數(shù)將起作用。
單個參數(shù)。如果我們只有一個參數(shù),我們可以省略括號。
內(nèi)聯(lián)箭頭函數(shù)。如果我們的箭頭函數(shù)只有一個語句或幾個語句,我們只能用一行寫它。
實際情況下箭頭函數(shù)的一些示例
最后,讓我為您提供一些箭頭函數(shù)的真實示例:
如果你想成為一名優(yōu)秀的JavaScript開發(fā)人員,了解箭頭函數(shù)是必須的。此功能為我們提供了編寫簡短函數(shù)定義的能力和編寫匿名函數(shù)的能力。使用箭頭函數(shù)縮短我們的代碼可以提高代碼的可讀性,并提高我們作為開發(fā)人員的工作效率