【分享】33 Concepts Every JavaScript Developer Should Know

这周 Javascript Weekly 给我推送了一个很不错的文章,也可以说是个项目:33 Concepts Every JavaScript Developer Should Know ,即《每个 JavaScript开发者都应该知道的 33 个概念》。该项目的是根据 Stephen Curtis 发表的一篇文章《33 Fundamentals Every JavaScript Developer Should Know》提到的概念对应的收集了相关的文章和视频,便于开发者了解和学习。

本文列出提到的 33 个概念,详细内容去项目github查看

  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 表达式 vs 语句
  8. IIFE, Modules and Namespaces 立即执行函数,模块,命名空间
  9. Message Queue and Event Loop 消息队列和事件轮询
  10. setTimeout, setInterval and requestAnimationFrame 定时器,循环执行,动画帧方法
  11. JavaScript Engines JavaScript 引擎
  12. Bitwise Operators, Type Arrays and Array Buffers 位运算符,类型数组
  13. DOM and Layout Trees DOM树和结构树
  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 集合
  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 代码整洁