JavaScript Topics

Topic Details
Basics of Programming in JavaScript
  • Hello World Program
  • Declare variable using var
  • More about variable
  • Let
  • Const
  • String Indexing
  • Useful string methods
  • Template Strings
  • Null
  • Undefined
  • BigInt
  • typeof
  • Booleans
  • Comparison Operator
  • Truthy
  • Falsy Values
  • If else statement
  • Ternary Operator
  • && || operator
  • Nested if else
  • If elseif else
  • Switch statement
  • While loop
  • For loop
  • Break and continue keyword
  • Do while loop
Arrays in JavaScript
  • Intro to arrays
  • Push pop shift unshift
  • Primitive vs reference data types
  • Clone array & spread operator
  • For loop in array
  • use const for creating arrays
  • While loop in array
  • For of loop
  • For in loop
  • Array destructuring
Objects in JavaScript
  • Intro to objects
  • Dot vs Bracket Notation
  • Iterate objects
  • Computed Properties
  • Spread Operator in Objects
  • Objects Destructuring
  • Objects inside array
  • Nested Destructuring
Functions in JavaScript
  • Function Declaration
  • Function Expression
  • Arrow Function
  • Function declarations are hoisted
  • Function inside function
  • Lexical Scope
  • Block Scope
  • Function Scope
  • Default Parameters
  • Rest Parameters
  • Parameter Destructuring
  • callback functions
  • Functions returning Functions
Very Important Array Methods
  • Foreach method
  • Map method
  • Filter
  • Reduce
  • Sort
  • Find
  • Some
  • Fill method
  • Splice method
More useful things
  • Iterables
  • Sets
  • Maps
  • Object.assign
  • Optional chaining
Object Oriented JavaScript - Prototypal Inheritance
  • Methods
  • This keyword, Window object
  • Call , apply and bind method
  • This inside arrow functions
  • Short syntax for methods
  • Factory functions
  • What is __proto__ , [[prototype]]
  • What is prototype
  • Use prototype
  • New keyword
  • Constructor function with new keyword
  • Difference Between proto and prototype
  • Class keyword
  • Example using class keyword
  • Super keyword
  • Method overriding
  • Getters and setters
  • Static methods and properties
  • Global Execution context
  • This and window in global execution context
  • Hoisting
  • Function execution context
  • Scope chain and lexical environment
Closures
  • Intro to closures
  • Data privacy / Encapsulation
  • Maintaining state
  • Function factories
  • Creating private variables
DOM Tutorial
  • HTML and CSS Crash course
  • Async vs defer
  • Select elements using id
  • querySelector
  • textContent & innerText
  • Change the styles of elements using js
  • Get and set attributes
  • Select multiple elements and loop through them
  • innerHTML
  • Deeply understand dom tree, root node , element nodes, text nodes
  • classList
  • Add new elements to page
  • Create elements
  • Insert adjacent elements
  • Clone nodes
  • methods to add elements on page
  • get the dimensions of the element
Events
  • Intro to events
  • This keyword inside eventListener callback
  • Add events on multiple elements
  • Event object
  • How event listener works
  • Practice with events
  • Create demo project
  • More events
  • Event bubbling
  • Event Capturing
  • Event delegation
  • Create Project using event delegation
Asynchronous JavaScript
  • synchronous or asynchronous
  • SetTimeout()
  • SetTimeout() with 0 millisecond
  • Callback Queue
  • Create Oulines
  • SetInterval
  • Callbacks in asynchronous programming
  • Callback Hell and Pyramid of dom
Promises, network request
  • Intro to promises
  • Microtask Queue
  • Function that returns promise
  • Promise and settimeout
  • Promise.resolve and more about then method
  • Convert nested Callbacks to flat code using promises
  • Intro to Ajax, HTTP Request
  • XHR requests
  • Error handling in XHR requests
  • XHR request Chaining
  • Promisifying XHR requests and chaining using then method
  • Fetch API
  • Error Handling in Fetch API
  • Consume Promises with async and Await
ES6 (ES2015) Modules
  • Split code into multiple files using ES6 modules
Task 1
  • Multiple Project
Task 2
  • Interview Quetions & Answers