Basics
- What is ECMA script
- About its versions
- Static and dynamic language
- Get familiar about the place where JS using
Runing Javascript
- Script tag
- link external file
- Browser console
Variables
- var
- let
- const
- scope(globle, function, block)
- How lexical scope works
- Hoisting
- Temporal Dead Zone
DataTypes and Data structure
Primitive
- undefined
- null
- boolean
- Number
- BigInt
- String
- Symbol
Non–Primitive
- Object & Array
Data structure
- Array
- Map/Weak Map
- Set/Weak set
- Date
Type conversion
- Explicit Conversion
- Implicit Conversion
- == & ===( Equality )
Conditional Statements
- if
- else
- else if
- switch
Loops
- for
- while
- do…while
- break/continue
- for…in
- for…of
Operators
- Arithmetic Operators
- Comparison Operators
- Logical Operators
- Assignment Operators
- Ternary Operators
- Type of Operators
Functions
- Function declarations
- Function expressions
- Calling Functions
- Parameters and arguments
- Scope
- Arrow functions
- Anonymous function
- Immediately Invoked Function Expression (IIFE)
- Higher Order Function(map, reduce, filter) ADVANCED
- Function Currying ADVANCED
Built-in methods
- String methods
- Array methods
- Number methods
this
- How this work in JS
- Imlicit Binding
- New Binding
- Lexical Binding
- Default Binding
- “this” in case of Arrow Functions
- Explicit Binding(call, apply and bind) ADVANCED
Prototype
- What is Prototype in JS
- Prototype Chain
- Prototypes and interitance
- Class ADAVANCED
- Interators ADAVANCED
- Generators ADAVANCED
- Event Loop ADAVANCED
Asynchronous JS
- setTimeout
- setInterval
- callbacks
- Promises ADAVANCED
- async / await ADAVANCED
Few More Concepts
- template literals
- Spread oprators
- Rest oprators
- Array and object destructuring
- extends keyword
- Strict mode
- Regular Expressions