JavaScript Syllabus
JavaScript Introduction
- Introduction to JavaScript
- Where can we run JavaScript
- JavaScript for Client Side Applications
- JavaScript for Server Side Programming
- JavaScript for Desktop Applications
- Internal JavaScript
- External JavaScript
- First JavaScript program
JavaScript - Variables
- Introduction to Variables in JavaScript
- Data Types in JavaScript
- Primitive Data Types
- Numbers
- Strings
- Booleans
- Undefined & Null Data Types
- Reference Data Types
- Difference between Primitive & Reference data types
JavaScript Functions
- Introduction to functions
- Types of functions
- Named functions
- Anonymous Functions
- Fat Arrow Functions
- Function parameters
- Default parameters
- Returning values from functions
JavaScript - Conditional Statements & Loops
- If Statement
- If-else Statement
- Ternary Operator
- Truth & Falsy things in JavaScript
- Abstract Comparison
- Exact Comparison
- For Loop
- For-Of & For-In loops
- Do – While loop
- While – Do loop
JavaScript - Arrays
- Arrays in JavaScript
- Accessing elements from arrays
- Adding & Deleting elements from arrays
- Push – Pop methods
- Shift-Unshift methods
- Splice method
- Searching in Arrays
- Index-of method
- For-Each & Map methods
JavaScript - Objects
- Objects in JavaScript
- Accessing the properties from Objects
- Shallow Copy & Deep Copy
- Understanding this in JavaScript
- Built-In Objects in JavaScript
- Date Object
- JSON
- JSON Stringify
- JSON Parse
ES6+ JavaScript - Object Oriented Programming
- Object Oriented Programming in JavaScript
- Traditional vs ES6 Object oriented programming
- Classes
- Constructor Function
- Creating Objects using new keyword
- Inheritance
- Public and Private properties
ES6+ JavaScript - Promises & Fetch API
- Promises in JavaScript
- Working with Promises
- Creating Promises in multiple ways
- Async-Await in JavaScript
- Fetch API
- Getting Data from Server
- Get, Post, Put, Delete requests
JavaScript - Document Object Model (DOM)
- Introduction to Document Object Model (DOM)
- Accessing DOM elements
- Modifying elements dynamically
- Adding event listeners to elements
- Getting the data entered by the user
- Getting data from text, password input elements
- Getting data from checkboxes
- Getting data from dropdowns
Advanced JavaScript Syllabus
JavaScript - ES5 vs ES6
- Problems with ES5 JavaScript
- Scopes in JavaScript
- Scopes in ES5 JavaScript
- Scopes in ES6 JavaScript
- Var vs Let
- More on Comparison Algorithm
- More on Truth & Falsy things
JavaScript - Scopes & Closures
- Arguments in Functions
- Iterable Object
- Iterating through Arguments
- IIFE Functions
- More on Scopes
- Lexical Scopes
- Closures
- Advantages of Closures
Asynchronous JavaScript
- How JavaScript itself works
- Single Threaded JavaScript
- Events in JavaScript
- Jobs in JavaScript
- How JavaScript Executes Events
- How JavaScript Executes Jobs
- Event Pool & Event Queue
- Job Pool & Job Queue
JavaScript - Conditional Statements & Loops
- Hoisting in JavaScript
- Hoisting with Var
- Temporal Dead Zones with Let
- This inside Fat Arrow Functions
Advanced JavaScript - Arrays, Objects & OOP
- Iterables in JavaScript
- Iterable Objects
- Symbol Iterator
- Object Oriented Programming in ES5 Javascript
- Prototype in JavaScript
- Prototype Chain
- Iterating through an Object
- Defining Object Properties
- Mutable & Immutable Objects
- Freezing and Sealing Objects
Advanced JavaScript - More ES6+ Features
- Modules in ES6+ JavaScript
- Working with Modules
- More on Promises
- Promises – All & AllSettled
- Promises – Any & Race
- Sets & Maps
- Symbols
- Iterators & Generators
Advanced JavaScript - More on DOM
- How Browsers executes JavaScript
- Loading JavaScript in multiple ways
- async
- defer
ES6+ JavaScript - Promises & Fetch API
- Promises in JavaScript
- Working with Promises
- Creating Promises in multiple ways
- Async-Await in JavaScript
- Fetch API
- Getting Data from Server
- Get, Post, Put, Delete requests
JavaScript - Document Object Model (DOM)
- Introduction to Document Object Model (DOM)
- Accessing DOM elements
- Modifying elements dynamically
- Adding event listeners to elements
- Getting the data entered by the user
- Getting data from text, password input elements
- Getting data from checkboxes
- Getting data from dropdowns