Course Topics
JavaScript Fundamentals Introduction to JavaScript Setting Up Development Environment JavaScript in HTML Pages Console and Developer Tools Comments and Code Style Exercise Variables and Data Types Variables (var, let, const) Primitive Data Types Numbers and Math Operations Strings and Template Literals Booleans and Null/Undefined Exercise Operators Arithmetic Operators Assignment Operators Comparison Operators Logical Operators Ternary and Nullish Coalescing Exercise Control Flow - Conditionals If Statements If-Else and Else-If Chains Switch Statements Truthy and Falsy Values Short-Circuit Evaluation Exercise Control Flow - Loops For Loops While and Do-While Loops For-In and For-Of Loops Loop Control (break, continue) Nested Loops and Performance Exercise Functions Function Declaration vs Expression Parameters and Arguments Return Statements Arrow Functions Function Scope and Hoisting Exercise Arrays Creating and Accessing Arrays Array Methods (push, pop, shift, unshift) Iterating Arrays (forEach, map, filter) Array Methods (reduce, find, some, every) Multi-dimensional Arrays Exercise Objects Object Literals and Properties Accessing and Modifying Properties Object Methods This Keyword Object Destructuring Exercise Strings and Regular Expressions String Methods and Properties String Manipulation Template Literals and Interpolation Regular Expressions Basics RegExp Methods and Patterns Exercise Error Handling Try-Catch-Finally Blocks Error Types and Objects Throwing Custom Errors Debugging Techniques Best Practices for Error Handling Exercise Advanced Functions Higher-Order Functions Callbacks and Function Composition Closures and Lexical Scope IIFE (Immediately Invoked Function Expressions) Function Binding and Call/Apply Exercise Object-Oriented Programming Constructor Functions Prototypes and Prototype Chain ES6 Classes Inheritance and Extends Static Methods and Properties Exercise ES6+ Modern Features Destructuring Assignment Spread and Rest Operators Default Parameters Enhanced Object Literals Symbols and Iterators Exercise Asynchronous JavaScript Understanding Asynchronous Programming Callbacks and Callback Hell Promises and Promise Chaining Async/Await Syntax Error Handling in Async Code Exercise DOM Manipulation DOM Tree and Node Types Selecting Elements Modifying Elements and Attributes Creating and Removing Elements CSS Classes and Styles Manipulation Exercise Event Handling Event Listeners and Handlers Event Object and Properties Event Bubbling and Capturing Event Delegation Common DOM Events Exercise Browser APIs Local Storage and Session Storage Fetch API and HTTP Requests Geolocation API Canvas and Graphics Web Workers and Service Workers Exercise JSON and Data Handling JSON Format and Syntax JSON.parse() and JSON.stringify() Working with APIs Data Validation Handling API Responses Exercise Modules and Organization ES6 Modules (import/export) CommonJS and Module Patterns Module Bundlers Overview Code Organization Best Practices Namespace Patterns Exercise Testing and Debugging Console Methods and Debugging Browser Developer Tools Unit Testing Basics Testing Frameworks Overview Performance Profiling Exercise Final Project Project Planning and Architecture Building a Complete Web Application Code Organization and Best Practices Testing and Deployment Performance Optimization Exercise

If Statements