This is me trying to learn modern features in javascript, and revisiting some important concepts.
- Variables
- Declarations: var, let, and const
- Scope: Global, Function, and Block
- Hoisting
- Data Types, and Data structures
- Primitive Types : undefined, Boolean, Number, BigInt, String, and Symbol
- Others: null, Object, and Function
- Data Structures : Array, Map/Weak Map, Set/Weak Set, and Date
- Type Conversion: Explicit Conversion, and Implicit Conversion
- Equality: == vs ===
- Loops: while, do...while, for, break/continue, for...in, and for...of
- Control Flow: if...else, switch, and try/catch/throw
- Expressions & Operators: Assignment, Arithmetic, Logical, Conditional, Comparison, Relational, Bitwise, String, Comma, and Unary
- Functions
- Function Declarations vs Function Expression
- Calling Functions
- Parameters & Arguments
- Scope
- Arrow Functions
- Advanced Scope: Nest functions, Lexical scoping, immediately invoked function expression, and revealing module pattern.
- Closure
- Currying
- this: Implicit binding, Explicit Binding, new Binding, Lexical Binding, and Default Binding.
- Prototype
- Prototype Inheritance
- Class
- Iterators, and Generators
- Event Loop
- Asynchronous JavaScript: setTimeout, setInterval, callback, Promises, and async await
Javascript Learning Path by Codevolution Link