Do Not Just Learn,
Expert JavaScript
Stop learning JavaScript in bits and pieces from here and there. Learn it once and learn it to be an Expert.
Launch Yourself Into The Future.
Vitae consequat augue. Vivamus eget dolor vel quam condimentum sodales in bibendum odio urna sit amet. In non pulvinar purus. Curabitur nisi odio, blandit et elit at, suscipit pharetra efficitur elit.
100% Instructor Led Training
Money Back Guarantee
No Recorded Videos
Essential JavaScript
Introduction to JavaScript
- Why JavaScript
- What is ECMA Script
- ECMA Script vs JavaScript
- JavaScript Engines
- JavaScript Environments
- Client Side JavaScript
- Server Side JavaScript
- JavaScript for Desktop Applications
Variables & Data Types
- Introduction to Variables
- Different ways to create Variables
- Using var, let and const
- Data Types in JavaScript
- Primitive Data Types
- Reference Data Types
- Primitive vs Reference Data Types
Numbers
- Numbers in JavaScript
- Floating Point Numbers
- IEEE 754 standards
- Special numeric values
- Not A Number, Infinity, -Infinity
- Numbers of Different Base
- Binary, Octal and Hexa Decimal Numbers
- Issues with Floating Point Numbers
- Solving the issues of Floating Point Numbers
- Max and Min Safe Integers
Strings
- Strings in JavaScript
- Creating Strings in multiple ways
- Multiline Strings
- Variables inside Strings
- Template Literals
- Double,Single Quotes vs Template literals
- String Methods
Booleans
- Booleans in JavaScript
- Creating and using boolean data types
- Falsy things in JavaScript
- Comparison Operators
- Strict Comparison
- Abstract Comparison
- Strict vs Abstract Comparison
Undefined & Null
- Null in Programming languages
- Undefined & Null in JavaScript
- Undefined vs Null
- Non Nullability
- Null Aware Operator
- Handling Null & Undefined values
Symbols & Bigint
- Introduction to Symbols
- Purpose of Symbols
- Creating & Using Symbols
- Advantages of Symbols
- Introduction to Bigint
- Purpose of Bigint
- Creating & Using Bigint
- More on Symbols in Advanced JavaScript
Reference Data Types
- Introduction to Reference Data Type
- Issues with Reference Data Types
- Shallow Copy
- Deep Copy
- A note on State Management
- Spread Operator
- Object Assign
- Levels of Deep Copy
Arrays
- Introduction to Arrays
- Creating and Accessing Arays
- Working with Array Methods
- IndexOf, Includes
- Push, Pop, Shift, Unshift, Splice
- ForEach, Map, Filter, Slice
- Find, FindIndex
- Every, Some
- Flat, FlatMap
- Entries, Keys
- More on Arrays & Iterables in Advanced JavaScript
Objects
- Objects in JavaScript
- Creating and Accessing Objects and their properties
- Deleting Properties
- Handling Dynamic Properties
- Iterating through an Object
- Objects Keys, Values and Entries
- Objects Own Properties, Has Own Property
- Objects Inherited Propertiess
- More on Objects in Advanced JavaScript
Functions
- Introduction to functions
- Types of Functions in JavaScript
- Named Functions
- Anonymous Functions
- Arrow Functions
- IIFE functions
- Functions with Parameters
- Default Parameters
- Arguments Object
- Rest Params
- More on Functions in Advanced JavaScript
Object Oriented Programming
- OOPs in JavaScript
- Introduction to Classes
- Constructor Function
- Implementing Inheritance
- Implementing Polymorphism
- Access Modifiers
- Public Properties
- Private Properties
- Static Properties
Promises
- Introduction to Promises
- Creating Promises
- Resolving and Rejecting Promises
- Promises Statuses
- Handling promise using then..catch..finally
- Creating Promises with Async Functions
- Handling promise using async await .. Try & Catch
- Error Handling Promises
- More on Promises in Advanced JavaScript
Fetch API
- Introduction to Fetch API
- Get Request
- Post Request with Body using Fetch
- Put/Patch Requests using Fetch
- Delete Request
- Client Server Communication
- Http Headers
- Fetch request with Headers
- Error Handling
Misc.
- Built-in Timer Functions
- Set Timeout
- Set Interval & Clear Interval
Advanced JavaScript
Asynchronous JavaScript
- Introduction to Asynchronous Programming
- Synchronous JavaScript
- Single Threaded JavaScript
- Event Loop
- Events & Macrotasks
- Jobs & Microtasks
- Execution Order
- What in JavaScript are events and what are jobs
- Race Conditions
- Benefits of Asynchronous Programming
- Handling Asynchronous JavaScript
Prototypes
- Prototype Based Programming
- Traditional ways of implementing OOPs in JavaScript
- Factory/Constructor Functions
- this keyword inside functions
- Prototypes
- Prototype Chain
- Inheritance using Prototypes
- Polymorphism using Prototypes
- Built-in Objects in JavaScript
- Extending Built-in Objects Functionality
More about Objects
- Different ways to create an object
- Object Prototypes
- Setting Object Prototypes
- Symbols as Objects Properties
- Advantages of Symbols as Object Propeties
- Object Property Properties
- Writable, Configurable, Enumerable
- Creating Immutable Objects
- IsExtensible
- Freeze, Seal
More About Promises
- Chaining Promises
- Handling Multiple Promises
- Promise All & Its use cases
- Promise All Settled & Its use cases
- Promise Race & Its use cases
- Promise Any & Its use cases
- Promises Execution
- Promises and Asynchronous JavaScript
- Promises vs Synchronous JavaScript
- Promises vs Events
Closures & Scopes
- Scopes in JavaScript
- Global Scope
- Functional Scope
- Block Scope
- Lexical Scope
- What is a Closure
- How to create a Closure
- Advantages of Closures
Execution Context & Hoisting
- Execution Context in JavaScript
- Creation Phase
- Execution Phase
- Call Stack
- Hoisting in JavaScript
- Temporal Dead Zones
- Hoisting of Functions
- Hoisting in ES6 JavaScript
- Hoisting of Classes
Sets
- Introduction to Sets in JavaScript
- Sets vs Arrays
- Advantages of Sets
- Creating and Accessing Sets
- Working with Sets Methods
- Union, Subset, Superset, Intersection, Disjoint on Sets
- Iterating Sets
- Arrays to Sets and viceversa
- Strings to Sets and viceversa
- Sets from Maps
Maps
- Introduction to Maps in JavaScript
- Maps vs Objects
- Issues with Objects in JavaScript
- Advantages of Maps
- Creating and Accessing Maps
- Working with Maps Methods
- Iterating Maps
- Maps from Objects
- Maps from Sets
- Disadvantages of Maps
WeakMaps & WeakSets
- Introduction to WeakMaps
- Maps vs WeakMaps
- Sets vs WeakSets
- Meta Programming
- Advantages of WeakMaps & WeakSets
- Creating and Working with WeakMaps & WeakSets
Iterators & Generators
- Introduction to Sets in JavaScript
- Sets vs Arrays
- Advantages of Sets
- Creating and Accessing Sets
- Working with Sets Methods
- Union, Subset, Superset, Intersection, Disjoint on Sets
- Iterating Sets
- Arrays to Sets and viceversa
- Strings to Sets and viceversa
- Sets from Maps
Modules
- Introduction to Modules
- Modules in Traditional JavaScript
- Modules in Node JS
- Modules in JavaScript
- Import & Exports
- Named Exports
- Default Exports
- Importing Named & Default Exports
- Renaming during imports
- Lazy Loading
WeakMaps & WeakSets
- Introduction to WeakMaps
- Maps vs WeakMaps
- Sets vs WeakSets
- Meta Programming
- Advantages of WeakMaps & WeakSets
- Creating and Working with WeakMaps & WeakSets