最近 Radash 這個庫火的一塌糊涂,這是一個類似于 Lodash 的前端工具庫,短短時間內(nèi)在 github 上就擁有 3.4k star
然后網(wǎng)上就會有一個論調(diào):Radash 要取代 Lodash 了!!!
自Lodash問世以來,它通過簡化對數(shù)組、數(shù)字、對象、字符串等的操作,極大地便利了JavaScript的使用。然而,隨著前端技術的進步,純函數(shù)和函數(shù)式編程的概念已深入人心,成為社區(qū)的主流。在這樣的背景下,Lodash的某些功能顯得不夠前沿。
Lodash是一個十年前誕生的庫,旨在解決當時JavaScript開發(fā)者面臨的挑戰(zhàn)。但隨著時間的推移,這些早期問題對現(xiàn)代開發(fā)者而言已經(jīng)不再是難題。尤其是TypeScript的流行,更加劇了對基礎庫,如Lodash,應提供更精確類型定義的期待
隨著JavaScript引入了可選鏈和空值合并操作符,Lodash庫中的許多函數(shù)顯得不那么必要了。以Lodash的_.filter函數(shù)為例,它曾經(jīng)非常適用于遍歷對象數(shù)組并基于屬性進行篩選,即便某些對象缺少這些屬性也能安全運行。然而,現(xiàn)代JavaScript的新特性已經(jīng)讓這類操作變得更加簡單直接。
圖片
如今,借助可選鏈操作符,我們能夠以更簡潔的方式實現(xiàn)相同的功能,而無需依賴任何外部庫。
圖片
同樣,隨著 JavaScript 和 TypeScript 的最新進展,傳統(tǒng)的函數(shù)如 .get、.map 和 _.size 等已經(jīng)變得不那么必需了。更重要的是,就性能而言,像可選鏈這類語言特性的效率遠超過了 Lodash 的 _.get 函數(shù),其速度幾乎是后者的兩倍。
Lodash 上一次發(fā)版已經(jīng)是三年前了
圖片
Radash 的特點是:
tryit 方法相當于可以幫你給異步操作加一層 try catch,有利于操作的兜底以及錯誤的捕獲
圖片
parallel 你可以理解為它是 Promise.all 的加強版,它不止能幫你做多個異步操作的并發(fā)處理,還能幫你控制并發(fā)數(shù)量
圖片
retry 可以幫你做異步操作的失敗重試,并且你可以配置重試延遲、重試次數(shù)
圖片
counting 可以幫你計算符合條件的項的個數(shù)
如統(tǒng)計年齡大于30的人數(shù):
圖片
range 幫你創(chuàng)建一個指定范圍內(nèi)數(shù)字的數(shù)組
圖片
list 方法幫你創(chuàng)建一個包含指定元素的數(shù)組,有點類似于 Array.prototype.fill
圖片
我覺得短時間內(nèi) Radash 肯定取代不了 Lodash!!!
雖然 Radash 提供了很多實用方法,但是其實這些方法并不是項目中不可或缺的。。
雖然 Lodash 比較老,但是 Lodash 提供的方法已經(jīng)夠大部分項目用了
我們來看看周下載量對比,Lodash 是 Radash 的 700 倍!!!
圖片
本文鏈接:http://www.tebozhan.com/showinfo-26-82956-0.html超火前端工具庫 Radash,聲稱要取代 Lodash
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com