分享 6 个JavaScript学习资源
Github 不仅仅是代码托管平台,也是一个学习、开源存储库、教程和指南手册的资源平台。通常遇到技术瓶颈或者有解决不了的问题,都会借助 Github 查找学习资源,本文分享6个JavaScript学习资源。
1 .算法和数据结构
星数:118 k
网址:https://github.com/trekhleb/javascript-algorithms
在前端框架盛行的年代,很多前端工程师成了框架的使用者,对于 JavaScript 的数据结构都停留在学校的阶段,这个 JavaScript 仓库是个不错的资源 。
正如仓库说明那样,每种算法和数据结构都有自己的 README,包含相关说明和链接,以便进一步阅读 (还有 YouTube 视频) 。这对于学习或者提升 JavaScript 技能来说是个不错的资源,值得收藏翻阅。如果正有意应聘字节跳动,建议学习并掌握这些数据结果和算法。
数据结构包括
- 链表
- 双向链表
- 队列
- 哈希表(散列)
- 堆
- 树:二叉查找树、AVL 树、红黑树、线段树 - 使用 最小/最大/总和 范围查询示例、树状数组 (二叉索引树)
- 图(有向图与无向图)
- 布隆过滤器
算法
- 数学
- 集合
- 字符串
- 搜索
- 排序
- 动态规划
- 机器学习
2. Node.js 最佳实践
星数:69.8 k
网址:https://github.com/goldbergyoni/nodebestpractices
该仓库是对 Node.js 最佳实践中排名靠前的内容的总结和整理,同时也是目前最大的汇编,每周维持更新。
该仓库目前包含 80 多个最佳实践、风格指南和架构技巧,他们也对贡献持开放态度,因此请随意提出包含代码修复、翻译或新想法的拉取请求。
内容包括:
- 项目结构
- 错误处理
- 代码风格
- 进入生产阶段
- 安全
- Docker
3. 你还不了解的JS
星数:143k
网址:https://github.com/getify/You-Dont-Know-JS
这是一系列深入研究 JavaScript 编程语言核心机制的电子书籍,可在 GitHub 上完全免费的阅读,当然也可以购买。
内容包括:
- JavaScript 的发展历史及工作原理
- JavaScript 的普遍误解
- JavaScript基础,例如类型、闭包和原型
4. JavaScript 30
星数:16.3k
网址:https://github.com/wesbos/JavaScript30
这个是面向想要熟悉 JS 基础知识的新手和中级开发人员,因此需要有一定的 JS 开发经验,仓库包含 30 个 JS 项目(从构建、入门文件、视频教程和代码解决方案)
5. 整洁代码
星级:55.6 k
网址:https://github.com/ryanmcdermott/clean-code-javascript
正如仓库所述,这是使用 JavaScript 生成可靠、可重用和可重构软件的指南。开发人员应该尽早尝试并实施整洁代码实践,通过编写整洁的代码可以节省大量时间和精力。
该仓库介绍了使用JavaScript的整洁代码概念,并提供了好的和不好的代码示例。
内容包括:
- 变量
- 函数
- 测试
- 类
- 对象和数据结构
- 格式化
- 错误处理
6. 33-js-concepts
每个 JavaScript 开发者都应该知道的33个概念,项目是为了帮助开发者掌握 JavaScript 概念而创立的。
星级:43.1k
网址:https://github.com/leonardomso/33-js-concepts
中文:https://github.com/stephentian/33-js-concepts
内容目录
- 调用堆栈
- 原始类型
- 值类型和引用类型
- 隐式、 显式、 名义和鸭子类型
==
与===、
typeof
与instanceof
this
、call
、apply
和bind
- 函数作用域, 块级作用域和词法作用域
- 闭包
map
、reduce
、filter
等高阶函数- 表达式和语句
- 变量提升
- Promise
- 立即执行函数、模块化、 命名空间
- 递归
- 算法
- 数据结构
- 消息队列和事件循环
setTimeout
、setInterval
和requestAnimationFrame
- 继承、多态和代码复用
- 按位操作符、类数组对象和类型化数组
- DOM 树和渲染过程
- new 与构造函数、
instanceof
与实例 - 原型继承与原型链
Object.create
和Object.assign
- 工厂函数和类
- 设计模式
- Memoization
- 纯函数、函数副作用和状态变化
- 耗性能操作和时间复杂度
- JavaScript 引擎
- 二进制、 十进制、 十六进制、 科学记数法
- 偏函数、柯里化、
Compose
和Pipe
- 代码整洁之道
总结
将上面的学习资源按照自己的节奏理解、学习并熟练掌握,足以提高 JavaScript 技能。