JavaScript新書上架

去年的這個時候出了一本講網頁前端資安的書,而一年後的現在,又有一本新書要上啦!不過不是資安,而是回歸前端老本行。

這次的新書叫做《JavaScript 重修就好》,講那些前端開發者一定聽過的知識,如 scope、hoisting、type、prototype、this 以及非同步等等,適合對象是已經有學過相關知識的工程師們,再重修一次。

為什麼要再重修一次呢?因為學一次不夠的話,可以學兩次。有很多人應該都是為了面試而去惡補相關知識,可能只是背起來但沒有真的學進去,不知道這些知識有什麼用途,又是為了什麼而學習。因此我希望能以不同的角度帶大家看看這些知識,或許會讓大家有新的觀點跟感受。

舉個例子,非同步好了,許多人都知道 event loop 中有分 task 跟 microtask,而 Promise 屬於後者。那請問什麼狀況下我們會需要 microtask 而不是 task?

延伸這個問題,Vue 的 nextTick 會在 DOM 更新完成後被呼叫,所以是非同步的,那它底層用的是什麼?task 還是 microtask?又是怎麼實作的?同理,React Fiber 也會需要非同步去做一些事情,那背後是怎麼做的?我在書中會帶大家實際去看程式碼,觀摩一下非同步在實際開發中的運用。當我們把知識跟實作結合在一起時,就能更深入理解這些觀念。

這本書從 2022 年就開始寫了,拖延症發作一直到 2025 才寫完。而這三年剛好就是 AI 爆發的時代,軟體開發首當其衝,被影響得很大。因此,勢必有個問題需要回答:「在這個 AI 時代底下,還學習 JavaScript 知識的理由是什麼?」。長話短說,如果你覺得 AI 勢必會完全取代工程師,code 他寫,他來 review,有 bug 也他來修,那確實不需要學了,因為沒太大用處,都給 AI 來就好。

但如果你覺得最終還是需要有人來 review 或是有人扛責任,AI 只是輔助,最後還是要有個真人,那這個人就必須比 AI 厲害,必須能看出 AI 沒看到的問題或是 bug,在這個前提下,就需要有一定的技術深度跟廣度才能勝任,而我認為這就是學習的理由。

或是換個角度,假設你堅信 AI 真的會完全取代軟體工程師,在這個時間點還願意學習即將失傳的古老技術,不也是挺浪漫的事嗎 🤣

這本書的內容大概有四成來自於我的技術部落格,其他六成都是新寫的,而最開心的是那些斷尾的部落格文章終於有了後續,如 2019 年寫的非同步,在 2025 年終於把這個故事完整講完,幫我自己了解了一個心願 😆

總之呢,我把我對 JavaScript 的理解都放在書裡面了,算是把以前零零散散的文章系統性結合起來,並且補上更多實際案例跟這些年的體悟,有種:「啊,在 JavaScript 知識這塊終於圓滿了,我終於好好寫完了」的感覺。

目前書籍還在預購中,7/19 會正式發售,到時候電子書平台也會上架,有興趣的可以先到天瓏預購起來。

評論