看到滿多人都推 JS weird parts
我覺得對於想要加強基礎的新手來說,這的確是一門很好的入門課
但 JS 的東西滿多的,所以學到後來會發現裡面講的東西還是有點淺
如果想再繼續加強的話
這邊推薦的書籍是 You Don't Know JS
https://github.com/getify/You-Dont-Know-JS
或也可以去上作者在 Frontend Masters 上面開的課
https://frontendmasters.com/courses/deep-javascript-v3/
今年鐵人賽有人寫了相關的筆記,可以先看一下內容
[day00] 跟著 YDKJS 作者 Kyle Simpson 打造全新 JavaScript Mindset
https://ithelp.ithome.com.tw/articles/10216114
然後再推一個想理解 ECMAScript 的超棒資源,是一系列的文章
http://dmitrysoshnikov.com/
可以先從 JavaScript. The Core (older ES3 version) 開始
看完再去看 JavaScript. The Core: 2nd Edition
基本上就是講解 ECMAScript 裡面的名詞跟概念,講得很棒
想要真的理解 JS 的話直接去看 ECMAScript 是必須的
不然接收到的資訊都只是二手資訊,看 spec 才能保障正確性
若是想理解瀏覽器的運作
可以從很經典的 How Browsers Work 開始
https://www.html5rocks.com/en/tutorials/internals/howbrowserswork/
Chrome 在去年也有推出一系列的文章在講瀏覽器的運作
Inside look at modern web browser
https://tinyurl.com/y957ow8c
話說 V8 的 blog 也有很多好文,如果想理解 V8 在幹嘛可以看一下
也可以更新自己對 JS 相關知識的理解
https://v8.dev/blog
例如說關於 V8 的 array.sort,有個說法是:
「V8 在排序長度 <10 的陣列時會用插入排序,否則用快速排序」
這以前是正確的,但是新的實作裡面已經改掉了(而且改一年左右了)
新的實作裡面改用 Timsort
詳情可參考這篇文章:
Getting things sorted in V8
https://v8.dev/blog/array-sort
如果是其他比較偏工具類的東西,我之前有寫了一篇我推薦的學習順序跟資源
有興趣的話可以參考一下
https://bit.ly/2zavJ9K