GitHub作为开源仓库,许多开源项目仓库这里,当然不乏十分优秀的,比如Node、V8,我一直比较好奇js源码,像java的话,因为环境是JDK,我们结合IDE很容易就能跳转到其源码内部去查看实现,但是js目前的的解释器和原生代码被放在V8引擎中去,无论是谷歌浏览器、Node,其V8引擎早已经被编译到程序中去了,我们无法直接查看其源码,所以我们得去看V8源码来理解其JS原生实现
1.首先从全局搜索V8仓库
2.然后进到仓库后,使用左上角的搜索功能可以检索仓库的代码来查看我们想看的代码
然而事情没有那么简单 这些都是ES规范的实现的测试用例
新的V8一些原来用js实现的方法已经换成C++实现了
我们可以去查看原来的分支,这里有一个
https://github.com/v8/v8/blob/fc5765ce7901767ba9298241454f736c17b4f9b3/src/js/array.js
这里我们可以查看一些js实现的内置对象,如果想查看其它的,可以去查看C++实现版本
https://github.com/v8/v8/blob/b8626ca445554b8376b5a01f651b70cb8c01b7dd/src/builtins