BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース es-Toolkit、モダンなLodash代替ツール

es-Toolkit、モダンなLodash代替ツール

原文リンク(2024-08-16)

es-toolkitは、高パフォーマンスかつタイプセーフであり、Lodashに代わる、モダンなJavaScriptユーティリティライブラリだ。

歴史的に、JavaScriptは開発者コミュニティのニーズや期待に追いつくのに苦労してきた。このギャップは、LodashjQueryMomentJSのようなライブラリの台頭につながった。これらは、この言語に欠けていた便利な機能の広範なセットを提供することで、このギャップを埋めるのに役立った。

JavaScriptの機能は年々拡張され、youmightnotneed.comのようなサイトは、最新のJavaScriptアプリケーションを開発する際にサードパーティ製ユーティリティ・ライブラリの使用を避ける方法を示しているが、多くの開発者は、パフォーマンスの向上、継続的なアップデート、そして場合によっては単に使い慣れたインターフェイスを提供できることから、ライブラリを使い続けている。

es-toolkitはこの分野での新しい競合だ。LodashやUnderscore.jsと直接競合し、バンドル・サイズとパフォーマンスで印象的な改善を主張している。

バンドルフットプリントの比較

バンドル・サイズの観点から見ると、es-toolkitはいくつかの印象的な違いを示しているが、これはLodash関数が相互に依存しており、単一メソッドのインポートによるメリットが制限されていることに起因しているようだ。

es-toolkit@0.0.1lodash-es@4.17.21Difference
sample88 bytes2000 bytes-95.6%
difference91 bytes3190 bytes-97.2%
sum152 bytes413 bytes-63.2%
debounce144 bytes1400 bytes-89.7%
throttle110 bytes1460 bytes-92.5%
pick657 bytes3860 bytes-83.0%
zip797 bytes1790 bytes-55.5%

パフォーマンス比較

パフォーマンスの向上はさらに印象的で、大きなデータセットを扱うJavaScriptアプリケーションに実際の効果をもたらす可能性がある。

es-toolkit@0.0.1lodash-es@4.17.21Difference
omit4,767,360 times403,624 times11.8×
pick9,121,839 times2,663,072 times3.43×
differenceWith9,291,897 times4,275,222 times2.17×
difference10,436,101 times5,155,631 times2.02×
intersectionWith8,074,722 times3,814,479 times2.12×
intersection9,999,571 times4,630,316 times2.15×
unionBy6,435,983 times3,794,899 times1.69×
union5,059,209 times4,771,400 times1.06×
dropRightWhile7,529,559 times5,606,439 times1.34×
groupBy5,000,235 times5,206,286 times0.96×

es-toolkitはLodashの互換性レイヤーを追加し、移行を希望する開発者を支援する。

互換性レイヤーを利用するには、個々のケイパビリティ・モジュールから互換性モジュールへのインポートを変更する。例えば、es-toolkit/array から chunk をインポートする代わりに、es-toolkit/compat からインポートする。

互換性レイヤーはサイズとパフォーマンスに若干の影響を与える可能性がある。使用する前に、es-toolkitとLodash両方のドキュメントを比較する価値がある。chunkやuniqなどの単純な関数の多くは、直接置き換えることができるからだ。

es-toolkitはTossによって開発され、MITライセンスの下でリリースされた。Lodashのテスト(互換性が維持されていることを保証する)の使用に対応するため、若干修正されている。

es-toolkitを使い始めるには、彼らのリポジトリにアクセスするか、npm i es-toolkitを使ってCLIから直接インストールする。

作者について

この記事に星をつける

おすすめ度
スタイル

BT