Pages

Monday, 23 August 2021

33 Concepts Every JavaScript Developer Should Know


Follow me

Introduction

This repository was created with the intention of helping developers master their concepts in JavaScript. It is not a requirement, but a guide for future studies. It is based on an article written by Stephen Curtis and you can read it here.

🚀 Considered by GitHub as one of the top open source projects of 2018!

Community

Feel free to submit a PR adding a link to your own recaps or reviews. If you want to translate the repo into your native language, please feel free to do so.

Table of Contents

  1. Call Stack
  2. Primitive Types
  3. Value Types and Reference Types
  4. Implicit, Explicit, Nominal, Structuring and Duck Typing
  5. == vs === vs typeof
  6. Function Scope, Block Scope and Lexical Scope
  7. Expression vs Statement
  8. IIFE, Modules and Namespaces
  9. Message Queue and Event Loop
  10. setTimeout, setInterval and requestAnimationFrame
  11. JavaScript Engines
  12. Bitwise Operators, Type Arrays and Array Buffers
  13. DOM and Layout Trees
  14. Factories and Classes
  15. this, call, apply and bind
  16. new, Constructor, instanceof and Instances
  17. Prototype Inheritance and Prototype Chain
  18. Object.create and Object.assign
  19. map, reduce, filter
  20. Pure Functions, Side Effects and State Mutation
  21. Closures
  22. High Order Functions
  23. Recursion
  24. Collections and Generators
  25. Promises
  26. async/await
  27. Data Structures
  28. Expensive Operation and Big O Notation
  29. Algorithms
  30. Inheritance, Polymorphism and Code Reuse
  31. Design Patterns
  32. Partial Applications, Currying, Compose and Pipe
  33. Clean Code

1. Call Stack

Reference

Articles

Videos

 Back to Top


2. Primitive Types

Reference

Articles

Videos

 Back to Top


3. Value Types and Reference Types

Articles

Videos

 Back to Top


4. Implicit, Explicit, Nominal, Structuring and Duck Typing

Articles

Videos

Books

 Back to Top


5. == vs === vs typeof

Articles

Videos

 Back to Top


6. Function Scope, Block Scope and Lexical Scope

Books

Articles

Videos

 Back to Top


7. Expression vs Statement

Articles

Videos

 Back to Top


8. IIFE, Modules and Namespaces

Articles

Videos

 Back to Top


9. Message Queue and Event Loop

Articles

Videos

 Back to Top


10. setTimeout, setInterval and requestAnimationFrame

Articles

Videos

 Back to Top


11. JavaScript Engines

Articles

Videos

 Back to Top


12. Bitwise Operators, Type Arrays and Array Buffers

Articles

Videos

 Back to Top


13. DOM and Layout Trees

Books

Articles

Videos

 Back to Top


14. Factories and Classes

Articles

Videos

 Back to Top


15. this, call, apply and bind

Reference

Articles

Videos

 Back to Top


16. new, Constructor, instanceof and Instances

Articles

 Back to Top


17. Prototype Inheritance and Prototype Chain

Reference

Articles

Videos

Books

 Back to Top


18. Object.create and Object.assign

Reference

Articles

Videos

 Back to Top


19. map, reduce, filter

Articles

Videos

 Back to Top


20. Pure Functions, Side Effects, State Mutation and Event Propagation

Articles

Videos

 Back to Top


21. Closures

Reference

Articles

Videos

 Back to Top


22. High Order Functions

Books

Articles

Videos

 Back to Top


23. Recursion

Articles

Videos

 Back to Top


24. Collections and Generators

Reference

Articles

Videos

 Back to Top


25. Promises

Reference

Articles

Videos

 Back to Top


26. async/await

Reference

Books

Articles

Videos

 Back to Top


27. Data Structures

Articles

Videos

 Back to Top


28. Expensive Operation and Big O Notation

Articles

Videos

 Back to Top


29. Algorithms

Articles

 Back to Top


30. Inheritance, Polymorphism and Code Reuse

Reference

Articles

Videos

 Back to Top


31. Design Patterns

Books

Articles

Videos

 Back to Top


32. Partial Applications, Currying, Compose and Pipe

Books

Articles

Videos

 Back to Top


33. Clean Code

Articles

Videos

from https://github.com/leonardomso/33-js-concepts
-----


JavaScript开发者应懂的33个概念

简介

这个项目是为了帮助开发者掌握 JavaScript 概念而创立的。它不是必备,但在未来学习(JavaScript)中,可以作为一篇指南。

本篇文章是参照 @leonardomso 创立,英文版项目地址在这里。 由于原版资源都要翻墙,所以本人创立一个中文版,附上关于这些概念在国内的一些文章和视频。 若有觉得更好的文章或者视频,可以贡献出来,觉得有误的,请联系我删除。

更新

若有觉得更好的文章或者视频,可以贡献出来,觉得有误的,请联系我删除。

  • 文章的排序优化,前面的文章是介绍概念,后面的文章是深入解读。
  • 将原文的 "高阶函数" 和 "map, reduce, filter" 合并为 "map, reduce, filter 等高阶函数"
  • 增加 "promise" 概念(替换删除的 "高阶函数")
  • 2018-10-24 更新:@BuptStEve 贡献的三篇关于" 函数式编程 "方面的文章
  • 2018-12-04 更新:@haner199401 贡献的 @冴羽 "JavaScript 深入之从原型到原型链"

目录

  1. 调用堆栈
  2. 原始类型
  3. 值类型和引用类型
  4. 隐式, 显式, 名义和鸭子类型
  5. == 与 ===, typeof 与 instanceof
  6. this, call, apply 和 bind
  7. 函数作用域, 块级作用域和词法作用域
  8. 闭包
  9. map, reduce, filter 等高阶函数
  10. 表达式和语句
  11. 变量提升
  12. Promise
  13. 立即执行函数, 模块化, 命名空间
  14. 递归
  15. 算法
  16. 数据结构
  17. 消息队列和事件循环
  18. setTimeout, setInterval 和 requestAnimationFrame
  19. 继承, 多态和代码复用
  20. 按位操作符, 类数组对象和类型化数组
  21. DOM 树和渲染过程
  22. new 与构造函数, instanceof 与实例
  23. 原型继承与原型链
  24. Object.create 和 Object.assign
  25. 工厂函数和类
  26. 设计模式
  27. Memoization
  28. 纯函数, 函数副作用和状态变化
  29. 耗性能操作和时间复杂度
  30. JavaScript 引擎
  31. 二进制, 十进制, 十六进制, 科学记数法
  32. 偏函数, 柯里化, Compose 和 Pipe
  33. 代码整洁之道

1. 调用堆栈

文章

视频

⬆️ 返回目录


2. 原始类型

文章

视频

⬆️ 返回目录


3. 值类型和引用类型

文章

视频

⬆️ 返回目录


4. 隐式, 显式, 名义和鸭子类型

文章

视频

⬆️ 返回目录


5. == vs ===, typeof vs instanceof

文章

⬆️ 返回目录


6. this, call, apply 和 bind

文章

视频

⬆️ 返回目录


7. 函数作用域, 块级作用域和词法作用域

文章

⬆️ 返回目录


8. 闭包

文章

视频

⬆️ 返回目录


9. map, reduce, filter 等高阶函数

文章

⬆️ 返回目录


10. 表达式和语句

文章

⬆️ 返回目录


11. 变量提升

文章

⬆️ 返回目录


12. Promise

文章

视频

⬆️ 返回目录


13. 立即执行函数, 模块化, 命名空间

文章

⬆️ 返回目录


14. 递归

文章

⬆️ 返回目录


15. 算法

文章

视频

⬆️ 返回目录


16. 数据结构

文章

视频

⬆️ 返回目录


17. 消息队列和事件循环

文章

⬆️ 返回目录


18. setTimeout, setInterval 和 requestAnimationFrame

文章

视频

⬆️ 返回目录


19. 继承, 多态和代码复用

文章

⬆️ 返回目录


20. 按位操作符, 类数组对象和类型化数组

文章

⬆️ 返回目录


21. DOM 树和渲染过程

文章

视频

⬆️ 返回目录


22. new 与构造函数, instanceof 与实例

文章

视频

⬆️ 返回目录


23. 原型继承与原型链

文章

视频

⬆️ 返回目录


24. Object.create 和 Object.assign

文章

⬆️ 返回目录


25. 工厂函数和类

文章

⬆️ 返回目录


26. 设计模式

文章

视频

⬆️ 返回目录


27. Memoization

文章

⬆️ 返回目录


28. 纯函数, 函数副作用和状态变化

文章

⬆️ 返回目录


29. 耗性能操作和时间复杂度

文章

⬆️ 返回目录


30. JavaScript 引擎

文章

⬆️ 返回目录


31. 二进制, 十六进制, 十进制, 科学记数法

文章

视频

⬆️ 返回目录


32. 偏函数, 柯里化, Compose 和 Pipe

文章

⬆️ 返回目录


33. 代码整洁之道

文章

from https://github.com/stephentian/33-js-concepts

No comments:

Post a Comment