原来Github上也有这么多的JavaScript学习资源!
程序员书库(ID:OpenSourceTop) 编译
书单来自:https://risingstars.js.org/2019/en/
最近,bestofjs发布了2019年度JavaScript年度榜单,他们已经连续发布四年了,榜单是通过比较了在过去12月在Github上新增Star的数量,评选出最受欢迎的前端框架、Node.js框架、React框架、Vue生态系统以及Github上最受欢迎JavaScript学习资源等。
今天,我们就来看看Github上最受欢迎的JavaScript学习资源:
1、You Don't Know JS
这是一系列深入探讨JavaScript核心特性的书籍,你可以在Github上阅读全系列,该书籍一共分为上中下三卷:
Up & Going 教你:
● 基本的编程构建块,包括运算符,类型,变量,条件,循环和函数
● JavaScript的核心机制,如值,函数闭包,这个和原型
● 本系列中其他书籍的概述,并了解为什么理解JavaScript非常重要
this & Object Prototypes:
● 研究JS对象的本质,以及为什么你需要指向它们
● 了解开发人员如何使用mixin模式在JS中伪造类
● 检查JS的原型机制如何在对象之间形成链接
Scope and Closures dives into trickier parts of the language
● 了解Scope,深入理解JavaScript里的域
● 深入嵌套作用域,一系列变量和函数的容器
● 了解如何使用闭包进行同步和异步任务,包括创建JavaScript库
Types & Grammar
● 熟悉JavaScript的七种类型:null,undefined,boolean,number,string,object和symbol
● 了解本机如何提供原始值周围的对象包装
● 探索JavaScript语法中的各种细微差别,涉及语句,表达式和其他功能
Async & Performance
● 探索处理异步编程的JavaScript方法
● 了解回调如何让第三方控制程序的执行
● 使用Web Workers,SIMD和asm.js解决程序级性能问题
ES6 & Beyond
● 学习新的ES6语法
● 学会迭代器,生成器,模块和类组织代码
● 使用集合以结构化方式更有效地处理数据
● 利用新的API助手,包括数组,对象,数学,数字和字符串
书籍链接:https://github.com/getify/You-Dont-Know-JS
2、30 seconds of code
在这个项目里,作者分享了大量有用的Javascript片段,你可以在30秒或更少时间中理解。我们举个例子:
arrayMax
返回数组中的最大值。将Math.max()与扩展运算符 (...) 结合使用以获取数组中的最大值。
const arrayMax = arr => Math.max(...arr);
// arrayMax([10, 1, 5]) -> 10
Github地址:https://github.com/30-seconds/30-seconds-of-code
3、JS Algorithms & Data Structures
本仓库包含了多种基于 JavaScript 的算法与数据结构。每种算法和数据结构都有自己的 README,包含相关说明和链接,以便进一步阅读 (还有 YouTube 视频) 。而且有中文版哦
Github地址:https://github.com/trekhleb/javascript-algorithms/
4、Node.js Best Practices
这是对Node.js最佳实践中排名最高的内容的总结和分享,当前已经超过50个最佳实现,样式指南,架构建议等,每天都有新的issue和PR被创建,所以这本在线书籍不断更新。主要目录如下:
Github地址:https://github.com/goldbergyoni/nodebestpractices
5、Tech Interview Handbook
该项目是由就职于Facebook的新加坡小哥Yangshun Tay整理的,你可以选择在线阅读全部内容,面试全流程需要注意的事项都在里面了,包含从简历准备、面经和谈判全过程,教你如何避雷不踩坑。
Github地址:https://github.com/yangshun/tech-interview-handbook
6、Airbnb Style Guide
这是由 Airbnb 开源的 JavaScript 代码风格指南。主要是为编写 JavaScript 代码提供规范的风格,方便开发者理解、阅读代码。这个指南假定你正在使用Babel, 并且需要你使用或等效的使用babel-preset-airbnb。同时假定你在你的应用里安装了带有或等效的airbnb-browser-shims的 shims/polyfills
中文版地址:https://github.com/lin-123/javascript
7、freeCodeCamp
freeCodeCamp.org是一个友好的社区,你可以在这上面免费学习编程,上面全栈Web开发课程是完全免费的,还能自行调整进度,还有大量的交互式编码挑战,可以帮助你提升编程技能,每项认证初级程序员大约需要300个小时才能完成。
Github地址:https://github.com/freeCodeCamp/freeCodeCamp
8、33 JS Concepts
这个项目是为了帮助开发者掌握 JavaScript 概念而创立的。它不是必备,但在未来学习(JavaScript)中,可以作为一篇指南。
Github地址:https://github.com/leonardomso/33-js-concepts
9、Papers we love
计算机科学论文库是一个有关于计算机学术科学的论文资源库,在这里你可以找到很多有关于计算机科学的学术论文,所有的论文都是有世界各地的优秀学者提交上来了的,如果你有喜欢的论文,可以加入到该论文行列里讨论。
Github地址:https://github.com/papers-we-love/papers-we-love
10、Front-end Job Interview Questions
该文件包含许多前端面试问题,不过这里的问题是为面试官准备的,其中许多问题都是开放式的,可能会引发有趣的讨论,所以能够告诉面试官更多关于此人的能力而不是直接回答的问题。
Github地址:https://github.com/h5bp/Front-end-Developer-Interview-Questions