iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 1
2

Imgur
圖片來源:http://blog.onclickinnovations.com/lodash-a-better-utility-library-developed-by-javascript-community/

動機

一開始會知道 LodashJS 這個函式庫是因為 在學 Vue.js 的路途中,在 Vue 官方範例中看到了 debounce 這個函式,這是第一次遇見 LodashJS。而我第一次想用 LodashJS 的動機在於看了這篇關於 deep copy 的文章:深入剖析 JavaScript 的深複製。裡面分別使用了不同的第三方函式庫實現深拷貝(Deep Copy),例如:

  • Underscore: _.clone()
  • jQuery: $.clone() / $.extend()
  • lodash: _.clone() / _.cloneDeep()
  • 使用 JSON.parse(JSON.stringify(obj))
  • 以及此文章作者自己的方法

文中不僅分享了五種方法,更比較了彼此的執行效能。其中 Lodash 不僅在效能表現優異,支援的特性也較多,例如對日期(Date)或正規表達式(RegExp)的深拷貝等等。

正是因為這篇文章開始好奇 Lodash 到底是何方神聖,也在無意間發現做自動化測試,End-to-End (E2E) testing 的 nightwatch 也有依賴 Lodash 的函式庫,這開始激起我學習 Lodash 的興趣。

前言

由於同時在參加其他鐵人賽的關係,Lodash 的挑戰很有可能失敗,希望透過每天練習一個 Lodash 函式來了解這個函式庫。

這邊也分享一下我們團體賽的成員們:

我們是「露天拍賣」的工程師,這次決定一同組隊「露天廢物」參加鐵人賽,扶持彼此完成這艱難的 30 天任務。

成員如下(按字母順序排列)

歡迎大家閱讀我們的學習歷程!


下一篇
三十天學 LodashJS #2:大綱
系列文
每天學一個 Lodash.js的函式7

尚未有邦友留言

立即登入留言