Beginner
Core JS fundamentals: variables, data types, strings, numbers, control flow, functions, arrays, objects, JSON, Sets, Maps, dates, and modern syntax.
Progress: 0 / 22 topics completed
JavaScript Fundamentals
Introduction to JavaScript
What JavaScript is, where it runs, and why it matters for web development.
Variables and Constants
Declaring variables with var, let, and const and knowing which to use.
Data Types
The seven primitive types and one object type that every JavaScript value belongs to.
Operators
Arithmetic, comparison, logical, and assignment operators the building blocks of expressions.
String Methods
The essential built-in methods for searching, transforming, and slicing strings in JavaScript.
Numbers & the Math Object
parseInt, parseFloat, toFixed, Number methods, and the Math object for common calculations.
Date and Time
The Date object creating dates, reading parts, comparing, formatting, and working with timestamps.
Control Flow
Conditionals
if/else, switch, and the ternary operator making decisions in code.
Loops
for, while, for...of, and for...in repeating actions efficiently.
Error Handling
try/catch/finally, throwing errors, and the built-in Error types for writing resilient code.
Functions
Functions
Declaring, calling, and composing functions the foundation of reusable code.
Arrow Functions
The ES6 concise function syntax and why arrow functions handle this differently.
Scope and Closures
How JavaScript determines where a variable is accessible and the power of closures.
Collections
Arrays
Creating, accessing, and mutating ordered collections of values.
Objects
Creating and working with key-value pairs JavaScript's fundamental data structure.
Array Methods
map, filter, reduce, find, and every the functional toolkit for transforming arrays.
Modern JavaScript (ES6+)
Template Literals
Backtick strings with embedded expressions, multi-line support, and tagged templates.
Destructuring
Unpacking values from arrays and objects into named variables in one line.
Spread and Rest Operators
The ... syntax for expanding arrays/objects and collecting remaining values.