Console and Expressions
Write and run your first JavaScript expressions while learning how console output helps you understand a
Free JavaScript practice
Practice JavaScript online with interactive coding exercises. Write real code in your browser, get instant feedback, and progress from fundamentals to advanced patterns.
No account or local setup required.
Curriculum
20 modules in 2 parts. Start at the beginning or jump to the part you want to practise.
Part 1
Start with expressions, variables, values, decisions, and functions.
Beginner · 10 modules
Write and run your first JavaScript expressions while learning how console output helps you understand a
Store, name, read, and update the values a JavaScript program works with.
Calculate with numbers using clear JavaScript expressions and variables.
Build and inspect text with strings, interpolation, and simple string methods.
Understand common JavaScript value types and make conversions explicit.
Create useful true-or-false values with comparisons and logical operators.
Use boolean conditions to choose between different program paths.
Group instructions into named functions and call them when they are needed.
Write functions that receive inputs and produce results other code can use.
Write short reusable functions with arrow syntax and predictable return values.
Part 2
Work with arrays, loops, objects, destructuring, and variable scope.
Beginner to intermediate · 10 modules
Create ordered collections and read their values with indexes and length.
Update, extend, shorten, and copy arrays with deliberate operations.
Repeat instructions safely with for and while loops.
Process every array value with loops, counters, totals, and result arrays.
Represent one thing with named properties stored in an object.
Use dynamic properties and iterate over object keys, values, and entries.
Combine arrays and objects to work with small, realistic data sets.
Extract values clearly from arrays, objects, parameters, and nested data.
Copy, combine, and update arrays and objects without changing the originals.
Predict where variables are available across functions, blocks, and loops.