这周 Javascript Weekly 给我推送了一个很不错的文章,也可以说是个项目:33 Concepts Every JavaScript Developer Should Know ,即《每个 JavaScript开发者都应该知道的 33 个概念》。该项目的是根据 Stephen Curtis 发表的一篇文章《33 Fundamentals Every JavaScript Developer Should Know》提到的概念对应的收集了相关的文章和视频,便于开发者了解和学习。
本文列出提到的 33 个概念,详细内容去项目github查看
- Call Stack 调用栈
- Primitive Types 原始类型
- Value Types and Reference Types 值类型和引用类型
- Implicit, Explicit, Nominal, Structuring and Duck Typing 隐式,显式,名义,结构和鸭子类型
- == vs === vs typeof
- Function Scope, Block Scope and Lexical Scope 方法作用域,块作用域,词法作用域
- Expression vs Statement 表达式 vs 语句
- IIFE, Modules and Namespaces 立即执行函数,模块,命名空间
- Message Queue and Event Loop 消息队列和事件轮询
- setTimeout, setInterval and requestAnimationFrame 定时器,循环执行,动画帧方法
- JavaScript Engines JavaScript 引擎
- Bitwise Operators, Type Arrays and Array Buffers 位运算符,类型数组
- DOM and Layout Trees DOM树和结构树
- Factories and Classes 工厂方法和类
- this, call, apply and bind
- new, Constructor, instanceof and Instances
- Prototype Inheritance and Prototype Chain 原型继承和原型链
- Object.create and Object.assign
- map, reduce, filter
- Pure Functions, Side Effects and State Mutation 纯函数,副作用,状态突变
- Closures 闭包
- High Order Functions 高阶函数
- Recursion 递归
- Collections 集合
- Promises
- async/await
- Data Structures 数据结构
- Expensive Operation and Big O Notation 高开销操作和复杂度
- Algorithms 算法
- Inheritance, Polymorphism and Code Reuse 继承,多态和复用
- Design Patterns 设计模式
- Partial Applications, Currying, Compose and Pipe 部分函数应用,柯里化,组合和链式调用
- Clean Code 代码整洁