自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Lodash 真的死了嗎?Lodash 5 在哪里?

開發(fā) 前端
Lodash 是那些為 JavaScript 提供便利功能的實用程序庫之一,它使編程變得更加輕松。許多開發(fā)者使用它來簡化對象和數(shù)組的處理。它也是一個像 Moment.js那樣被捕獲得措手不及的庫。由于沒有模塊化,它從一些項目中被丟棄,因為當(dāng)你加載5MB的分析工具時,每多1kB的負(fù)擔(dān)都太大了。

與一些傳言相反,Lodash依然活躍,并正在邁向Lodash 5的發(fā)布!

Lodash 是那些為 JavaScript 提供便利功能的實用程序庫之一,它使編程變得更加輕松。許多開發(fā)者使用它來簡化對象和數(shù)組的處理。

它也是一個像 Moment.js那樣被捕獲得措手不及的庫。由于沒有模塊化,它從一些項目中被丟棄,因為當(dāng)你加載5MB的分析工具時,每多1kB的負(fù)擔(dān)都太大了。

我偶爾使用 Lodash,因為它很有用,并且我發(fā)現(xiàn)它很有幫助。但驚訝地發(fā)現(xiàn)了Daniel Roe的這條推文:

必須讀兩次,因為僅僅瀏覽這條推文會讓你相信 Lodash 已經(jīng)死亡。

實際上,Daniel 寫道在他發(fā)那條推文時沒有新的問題反饋。

但你可以從推文中感受到對 Lodash 的一些反感,因為它的措辭暗示著 Lodash 已經(jīng)死亡。

在隨后的推文中,他澄清說沒有問題反饋可能是為了準(zhǔn)備發(fā)布Lodash 5:

為什么我們會看到關(guān)于這個流行庫的如此模糊的推文?

我發(fā)現(xiàn)的是,原計劃在2021年發(fā)布 Lodash 5。

然而,現(xiàn)在是2023年,Lodash 5 的發(fā)布已經(jīng)延遲了兩年。該版本的更改清單非常重要,主要側(cè)重于減小大小和模塊化,這些問題使得Lodash在一些團隊中逐漸沉沒。

所以,這個路線圖非常明確,當(dāng)Lodash 5發(fā)布時,它將能夠再次展現(xiàn)它的真正用途。

我不知道為什么它會延遲。但有時這種情況確實會發(fā)生。沒什么大不了的。沒有理由不喜歡它。

然后,作者偶然發(fā)現(xiàn)了這個關(guān)于省略函數(shù)的主題。Omit 函數(shù)是刪除對象不必要屬性的一種方法。它的用處在于可以一次刪除多個屬性,還可以刪除深層屬性,例如 car.tires.size。

為了準(zhǔn)備這些對意外數(shù)據(jù)過敏的API端點的數(shù)據(jù),這非常方便。

但是,根據(jù)路線圖,Lodash 5 將取消這一功能??雌饋韺τ谝恍┤藖碚f,這真的很重要。但是,五年前,這成為了設(shè)計決策的一部分,開發(fā)者被告知他們對此沒有發(fā)言權(quán):

并說明原因:

它必須引入所有屬性(繼承的和自己的可枚舉字符串鍵屬性和符號),然后排除少量屬性。另一方面,_.pick 或 _.pickBy 是顯式的。只需選擇你想要的內(nèi)容,無需大費周章。

我不知道這是不是反感的來源,但肯定有一些開發(fā)者不喜歡這個實用程序庫決定他們應(yīng)該如何編碼。

羅伯特-登普西(Robert Dempsey)撰寫了一篇很棒的文章,對 omit 功能的所有可能替代方案進(jìn)行了分析,得出如下結(jié)論:

如果你需要省略扁平路徑, 建議安裝Lodash 4+單獨用于省略功能,同時使用Lodash 5+進(jìn)行其他操作。

Robert 所做的研究得出的結(jié)論確實很有根據(jù)。這讓我們得出的結(jié)論是使用pick,或pickBy,或者在Lodash 5發(fā)布時安裝兩個版本的Lodash。

盡管我們知道選擇屬性與刪除它們不同。因為對于大型對象,選擇是逆生產(chǎn)的。

總之,一些開發(fā)者,一些忠實的Lodash開發(fā)者,將不得不安裝兩個版本,因為一個設(shè)計決策。

我還了解到,omit 功能的運行速度很慢,這可能是刪除該功能的原因。

Robert 所做的研究顯示了一些有前途的替代方案。但也明確表示,這個功能對于人們來說是有用的。所以,即使它不是超級快,對于人們來說也足夠了。

當(dāng)我處理一個數(shù)據(jù)時,我不太關(guān)心它多用了1毫秒,因為我知道調(diào)用API的時間都要花費500毫秒。??

另一方面,在某些情況下可能會太慢,但這就是性能測試的任務(wù)。

不過,作者也理解當(dāng)今方正公司規(guī)則的設(shè)計決定。在這種情況下,因為有人可能會錯誤地使用一個函數(shù)而放棄一個庫,或者干脆放棄這個函數(shù),都比解釋如何正確使用它要容易得多。

作者也理解這個決定可能是基于需要優(yōu)化庫在所有情況下的運行速度和推廣最佳實踐,同時與實用性保持良好的平衡。

說了這么多,這只說明在受歡迎的庫周圍做決策是多么的棘手。不能讓每個人都滿意。

作者個人會保留這個功能,并盡量提高其速度,同時在文檔中添加一些說明。

無論如何,事實上,Lodash團隊實際上使用了“Issue bankruptcy”標(biāo)簽來描述已關(guān)閉的問題。

Lodash仍然活躍,有一天我們會看到Lodash 5,這是許多開發(fā)者期待的東西。

責(zé)任編輯:姜華 來源: 大遷世界
相關(guān)推薦

2021-08-18 15:23:42

SDNSD-WAN軟件定義網(wǎng)絡(luò)

2013-01-10 13:58:43

PC操作系統(tǒng)

2012-07-23 10:11:47

2024-04-11 09:31:35

工具庫RadashLodash

2019-04-28 14:42:20

5GPC主機

2010-11-01 16:00:00

2025-04-03 10:58:12

2024-06-27 08:36:12

Lodash對象類型isObject?

2021-10-11 20:22:27

JWT瀏覽器接口

2018-03-23 05:25:18

5GWiFi網(wǎng)絡(luò)

2024-01-24 12:09:33

代碼Lodash前端

2024-03-12 10:13:08

LodashJavaScript工具庫

2015-05-22 10:03:05

NAS云計算共享存儲

2009-06-23 09:07:38

2024-04-28 10:28:11

lodashnum排序

2022-09-17 18:23:46

Lodash模塊化JavaScrip

2010-03-03 09:09:53

Android SDK

2019-01-07 16:35:58

微軟開源Java

2013-07-15 16:55:45

2020-09-11 08:39:14

公有云5G核心網(wǎng)
點贊
收藏

51CTO技術(shù)棧公眾號