JavaScript Fundamentals
Learn JavaScript from scratch with hands-on projects and real-world examples
Pass your 3 interview rounds to earn your certificate.
Curriculum
-
1 Introduction to JavaScript
Understand what JavaScript is, where it runs, and write your first script.
-
2 Variables and Data Types
Declare variables and work with JavaScript's primitive and reference types.
- var, let, and const Reading 10 min
- Differences Between var, let, and const Reading 10 min
- Primitive Types Overview Reading 10 min
- Strings Reading 10 min
- Numbers Reading 10 min
- Booleans Reading 10 min
- null and undefined Reading 10 min
- Symbol Reading 10 min
- BigInt Reading 10 min
- Basic Objects and Arrays Reading 10 min
- Type Conversion and Coercion Reading 10 min
- Core Knowledge Check Quiz 10 min
- Applied Knowledge Check Quiz 10 min
-
3 Operators
Use arithmetic, logical, bitwise, and comparison operators in JavaScript.
-
4 Control Flow
Control the execution of your programs with loops and branching statements.
-
5 Conditionals
Write expressive conditional logic with operators and modern syntax.
-
6 Functions
Define and use functions, the core building block of JavaScript.
-
7 Scope and Closures
Understand scope, hoisting, closures, and higher-order functions.
- Global vs Function Scope Reading 10 min
- Block Scope Reading 10 min
- Hoisting Reading 10 min
- Hoisting Knowledge Check Quiz 10 min
- Closures Reading 10 min
- Closure Scope Reading 10 min
- Closure Knowledge Check Quiz 10 min
- Higher-Order Functions Reading 10 min
- Functions as Arguments Reading 10 min
- Functions as Return Values Reading 10 min
- Module Knowledge Check Quiz 15 min
-
8 Arrays
Store collections of data and transform them with built-in array methods.
- Array Basics Reading 10 min
- forEach Reading 10 min
- map Reading 10 min
- filter Reading 10 min
- reduce Reading 10 min
- find Reading 10 min
- some and every Reading 10 min
- slice and splice Reading 10 min
- sort and reverse Reading 10 min
- flat and flatMap Reading 10 min
- includes Reading 10 min
- entries Reading 10 min
- Multi-dimensional Arrays Reading 10 min
- Core Knowledge Check Quiz 10 min
- Array Methods Knowledge Check Quiz 15 min
- Applied Knowledge Check Quiz 15 min
-
9 Objects
Work with key-value data using objects, their methods, and JSON.
-
10 The this Keyword
Master how this is determined and how to control execution context.
-
11 ES6+ Features
Write modern JavaScript with arrow functions, destructuring, and more.
- What Are ES6+ Features? Reading 10 min
- Arrow Functions Reading 10 min
- Template Literals Reading 10 min
- Destructuring Reading 10 min
- Spread Operator Reading 10 min
- Rest Operator Reading 10 min
- Enhanced Object Literals Reading 10 min
- Map and Set Reading 12 min
- Modern Operators Reading 10 min
- Core Knowledge Check Quiz 10 min
- Applied Knowledge Check Quiz 15 min
-
12 Modules
Organize code into reusable modules using import and export.
- Introduction to Modules Reading 10 min
- import / export Syntax Reading 10 min
- Default vs Named Exports Reading 10 min
- Writing Modular Code Reading 10 min
- Modules in the Browser and Node.js Reading 12 min
- Re-exports and Barrel Files Reading 10 min
- Side Effects and Dynamic Imports Reading 12 min
- Core Knowledge Check Quiz 10 min
- Applied Knowledge Check Quiz 15 min
-
13 Classes and Inheritance
Use ES6 classes, inheritance, and static members for object-oriented code.
- Class Syntax Reading 10 min
- Constructors Reading 10 min
- Methods Reading 10 min
- Inheritance with extends Reading 10 min
- Static Methods Reading 10 min
- Getters and Setters Reading 10 min
- Public and Private Fields Reading 12 min
- Composition vs Inheritance Reading 10 min
- Core Knowledge Check Quiz 10 min
- Applied Knowledge Check Quiz 15 min
-
14 Prototypes and Inheritance
Understand JavaScript's prototype chain and prototypal inheritance.
-
15 Error Handling
Handle and create errors gracefully to build robust applications.
-
16 Asynchronous Programming
Handle non-blocking operations with callbacks and async/await.
- Synchronous vs Asynchronous Reading 10 min
- Callbacks Reading 10 min
- Callback Hell Reading 10 min
- Promises Reading 10 min
- async / await Reading 10 min
- Error Handling with catch Reading 10 min
- Running Tasks in Parallel Reading 12 min
- Core Knowledge Check Quiz 10 min
- Applied Knowledge Check Quiz 15 min
-
17 Promises
Manage asynchronous results with promises and chaining.
- Introduction to Promises Reading 10 min
- Creating a Promise Reading 10 min
- then, catch, and finally Reading 10 min
- Promise Chaining Reading 10 min
- Promise.all, race, allSettled, and any Reading 10 min
- Promisifying Callbacks Reading 10 min
- Timeouts and Cancellation Reading 12 min
- Core Knowledge Check Quiz 10 min
- Applied Knowledge Check Quiz 15 min
-
18 The Event Loop
Understand how the JavaScript engine schedules and runs your code.
- JavaScript Engine and Runtime Reading 10 min
- The Call Stack Reading 10 min
- Microtasks Reading 10 min
- Macrotasks Reading 10 min
- Concurrency Model Reading 10 min
- Rendering and Long Tasks Reading 12 min
- Predicting Execution Order Reading 12 min
- Core Knowledge Check Quiz 10 min
- Applied Knowledge Check Quiz 15 min
-
19 APIs and Fetch
Communicate with REST APIs using fetch and handle CORS.
- Using fetch Reading 10 min
- Interacting with REST APIs Reading 10 min
- Handling JSON Reading 10 min
- What Is CORS? Reading 10 min
- Why CORS Exists Reading 10 min
- Solving CORS Errors Reading 10 min
- Request Options and Error Responses Reading 12 min
- Query Params, Headers, and Auth Reading 12 min
- Core Knowledge Check Quiz 10 min
- Applied Knowledge Check Quiz 15 min
-
20 Functional Programming
Apply functional programming principles to write predictable code.
- Pure Functions Reading 10 min
- Immutability Reading 10 min
- Higher-Order Functions Reading 10 min
- Declarative Array Transformations Reading 10 min
- Currying Reading 10 min
- Function Composition Reading 10 min
- Reduce and Recursion Reading 12 min
- Core Knowledge Check Quiz 10 min
- Applied Knowledge Check Quiz 15 min
-
21 Advanced Asynchronous Patterns
Use advanced asynchronous patterns to manage streams, cancellation, retries, concurrency, queues, and event-driven work.
- Generators Reading 10 min
- Async Iterators Reading 10 min
- for await...of and Streaming Data Reading 12 min
- Cancellation With AbortController Reading 12 min
- Timeouts, Retries, and Backoff Reading 12 min
- Concurrency Limits and Pools Reading 12 min
- Race Conditions and Stale Results Reading 12 min
- Async Queues and Task Scheduling Reading 12 min
- Debouncing and Throttling Async Work Reading 12 min
- Observables and Event Streams Reading 12 min
- Core Knowledge Check Quiz 10 min
- Applied Knowledge Check Quiz 15 min
-
22 Metaprogramming
Inspect and customize JavaScript object behavior with descriptors, symbols, Reflect, proxies, and iterables.
- Object Introspection and Descriptors Reading 12 min
- Defining and Controlling Properties Reading 12 min
- Getters, Setters, and Computed Behavior Reading 12 min
- Symbols and Well-Known Symbols Reading 12 min
- Custom Iterables and Symbol.iterator Reading 12 min
- Reflect Reading 12 min
- Proxies Reading 15 min
- Practical Metaprogramming Patterns Reading 12 min
- Core Knowledge Check Quiz 10 min
- Applied Knowledge Check Quiz 15 min
-
23 Memory Management
Understand JavaScript memory, garbage collection, reachability, leaks, weak references, and practical cleanup patterns.
- Memory Lifecycle Reading 10 min
- Stack and Heap Reading 10 min
- Garbage Collection Reading 12 min
- References and Reachability Reading 12 min
- Common Memory Leaks Reading 12 min
- Closures and Async Cleanup Reading 12 min
- WeakMap and WeakSet Reading 10 min
- WeakRef and FinalizationRegistry Reading 10 min
- Practical Memory Debugging Reading 12 min
- Core Knowledge Check Quiz 10 min
- Applied Knowledge Check Quiz 15 min
-
24 Performance Optimization
Measure, debug, and improve JavaScript performance in browsers and real applications.
- Measuring Before Optimizing Reading 10 min
- Browser Performance Model Reading 10 min
- Main Thread and Long Tasks Reading 12 min
- DOM, Layout, and Paint Reading 12 min
- Debouncing Reading 10 min
- Throttling Reading 10 min
- Memoization and Caching Reading 12 min
- Lazy Loading and Dynamic Import Reading 12 min
- Animation, Idle Work, and Workers Reading 12 min
- Network, Bundle, and Memory Tradeoffs Reading 12 min
- Profiling with DevTools Reading 12 min
- Core Knowledge Check Quiz 10 min
- Applied Knowledge Check Quiz 15 min
-
25 Security
Protect JavaScript applications from common web security risks.
- Preventing XSS Reading 12 min
- Preventing CSRF Reading 12 min
- Sanitizing Input Reading 10 min
- Authentication and Token Storage Reading 12 min
- CORS and Browser Security Boundaries Reading 12 min
- Dangerous Code and Prototype Pollution Reading 12 min
- Dependencies, Secrets, and Error Handling Reading 12 min
- Practical Secure Coding Habits Reading 12 min
- Core Knowledge Check Quiz 10 min
- Applied Knowledge Check Quiz 15 min
-
26 Design Patterns
Solve common problems with established JavaScript design patterns.
- What Are Design Patterns? Reading 10 min
- Module Pattern Reading 10 min
- Factory Pattern Reading 10 min
- Singleton Pattern Reading 10 min
- Observer and Pub/Sub Reading 12 min
- Strategy Pattern Reading 10 min
- Adapter and Facade Reading 12 min
- Decorator and Wrapper Pattern Reading 10 min
- Command Pattern Reading 10 min
- Iterator Pattern Reading 10 min
- Dependency Injection Basics Reading 10 min
- Composition Over Inheritance Reading 12 min
- Pattern Tradeoffs and Anti-Patterns Reading 12 min
- Core Knowledge Check Quiz 10 min
- Applied Knowledge Check Quiz 15 min
-
27 Debugging
Find and fix bugs efficiently using developer tools and techniques.
- Console Methods Reading 12 min
- Browser DevTools Reading 12 min
- Breakpoints and Stepping Reading 12 min
- Debugging Common Errors Reading 12 min
- Debugging Async Code Reading 12 min
- Network and API Debugging Reading 12 min
- DOM and Event Debugging Reading 12 min
- Performance and Memory Debugging Reading 12 min
- Practical Debugging Workflow Reading 12 min
- Core Knowledge Check Quiz 10 min
- Applied Knowledge Check Quiz 15 min
-
28 Testing
Write reliable JavaScript tests with unit, integration, async, mock, and workflow patterns.
- Types of Testing Reading 12 min
- Unit Testing Reading 12 min
- Integration Testing Reading 12 min
- Jest Reading 12 min
- Mocha Reading 12 min
- Testing Async Code and Errors Reading 12 min
- Mocks, Stubs, Spies, and Fetch Reading 12 min
- Test Organization and Workflow Reading 12 min
- Core Knowledge Check Quiz 10 min
- Applied Knowledge Check Quiz 15 min
-
29 Browser Environment
Use JavaScript in the browser to work with the DOM, events, browser APIs, storage, navigation, rendering, compatibility, and DevTools.
- Browser Runtime and the DOM Reading 12 min
- Selecting Elements Reading 10 min
- Creating Elements Reading 12 min
- Modifying Elements Reading 12 min
- Types of Selectors Reading 10 min
- Events and the Event Loop Reading 12 min
- Script Loading and Browser Modules Reading 12 min
- Browser APIs, Storage, and Security Reading 12 min
- Location, History, and Navigation Reading 12 min
- Rendering, Performance, and Compatibility Reading 12 min
- DevTools and Browser Pitfalls Reading 12 min
- Core Knowledge Check Quiz 10 min
- Applied Knowledge Check Quiz 15 min
-
30 Events
Handle browser events, event flow, delegation, forms, and event-driven UI patterns.
- Event-Driven Programming Reading 10 min
- Different Types of Events Reading 10 min
- Event Handling Reading 10 min
- addEventListener Reading 10 min
- Click and Hover Handlers Reading 10 min
- Custom Events Reading 10 min
- Event Bubbling Reading 10 min
- Event Capturing Reading 10 min
- Event Delegation Reading 10 min
- Event Methods Reading 10 min
- Keyboard, Form, and Input Events Reading 12 min
- Event Handler Patterns Reading 12 min
- Core Knowledge Check Quiz 10 min
- Applied Knowledge Check Quiz 15 min
-
31 Node.js Environment
Run JavaScript outside the browser with Node.js, built-in modules, npm, files, streams, and server-side runtime APIs.
- What Is Node.js? Reading 10 min
- Running JavaScript with Node Reading 10 min
- Node.js Runtime and Globals Reading 12 min
- Modules in Node Reading 12 min
- package.json, npm, and Packages Reading 12 min
- Built-In Modules Reading 12 min
- Working with the File System Reading 12 min
- Environment Variables and CLI Arguments Reading 12 min
- Async Node APIs and Errors Reading 12 min
- Streams, Events, and HTTP Reading 12 min
- Core Knowledge Check Quiz 10 min
- Applied Knowledge Check Quiz 15 min
-
32 Project Based Learning
Apply JavaScript fundamentals by planning, building, testing, documenting, and sharing complete projects.
- Project Overview Reading 12 min
- Planning Your Project Reading 12 min
- Breaking Work Into Milestones Reading 12 min
- Project Setup and Organization Reading 12 min
- Designing Data and State Reading 12 min
- DOM, Events, APIs, and Storage Reading 14 min
- Debugging and Testing Strategy Reading 12 min
- Refactoring, Performance, and Security Reading 14 min
- Documenting, Deploying, and Sharing Reading 12 min
- Practical Project Briefs Reading 15 min
- Capstone Project Plan Reading 15 min
- Core Knowledge Check Quiz 10 min
- Applied Knowledge Check Quiz 15 min
-
33 Interview Questions
Prepare for JavaScript interviews with common questions and challenges.
-
34 Certification
Complete the final assessment and earn your certificate.