看到满多人都推 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