Loading lesson path
JavaScript
Use these sections for debugging workflows, mini projects, version notes, and reference lookups.
Errors Will Happen! When executing JavaScript code, different errors can occur. Errors can be coding errors made by the programmer, errors due to wrong input, and other unforeseeable things: Referenc…
JavaScript Debugging
Statement Identifiers JavaScript statements start with a statement identifier to identify the action to be performed. Statement identifiers are reserved words (cannot be used as variable names or any…
A Counter with Reset and Save In this project you will build a counter with buttons to: Increase the counter Decrease the counter Reset the counter Save the counter Load the counter + Reset Save Load…
New Features in JavaScript 2026 ECMAScript 2026 introduces several features focused on improving resource management, handling asynchronous operations, and enhancing data manipulation: New JavaScript…
Silent Errors JavaScript can fail siently. A silent error will not stop your program. The execution will continue. The reason for silent errors is historical: The first version of JavaScript did not…
JavaScript Debugging Console
In JavaScript you cannot use these reserved words as variables, labels, or function names: abstract arguments async * await * boolean break byte case catch char class * const * continue debugger defa…
Using an Event Listener This is a copy of the previous project. Now using Event Listeners instead of Onclick Attributes. + Reset Save Load Using Event Listeners Using addEventListener() makes it easi…
New Features in JavaScript 2025 The 16th edition of the ECMAScript standard, released in June 2025, includes several enhancements to make JavaScript more readable and efficient. New Set Features in E…
JavaScript Error Statements
Breakpoints, Watch, Scope Breakpoints let you pause JavaScript and inspect what is really happening. This is the most powerful debugging technique after using the console. What Is a Breakpoint A brea…
Complete Operators Reference Revised July 2025 Type Common Use Example Assignment Assigns values to variables x = 5 Arithmetic Performs arithmetic between variables x = y + 2 Comparison Compares vari…
To-Do List Add Clear All In this project you will build a To-Do List. You will add tasks, remove tasks, and clear all tasks. The tasks will be saved in an Array in localStorage. You Will Learn How to…
New Features in JavaScript 2024 Feature Description Object.groupBy() Groups object elements according to values returned from a callback function Map.groupBy() Groups map elements according to values…
The Error Object JavaScript has a built in error object that provides error information when an error occurs. The error object provides two useful properties: name and message. Error Object Propertie…
Common Errors Explained JavaScript error messages look scary, but most of them mean very simple things. This page explains the most common errors in beginner-friendly language. Error messages are clu…
Order of Operation Operator precedence describes the order in which operations are performed in an arithmetic expression. Multiplication ( * ) and division ( / ) have higher precedence than addition…
Modal Popup A modal is a popup window that appears on top of the page. The project will build a modal that can be closed in three ways: Click the close button (x) Click outside the modal Press the Es…
New Features in JavaScript 2023 Feature Description #! (Shebang) Tells the operating system which interpreter to use to execute the script New Array Features in 2023 Feature Description findLast() Re…
Debugging Async Code Async bugs are the hardest bugs for beginners. The code looks correct, but nothing seems to happen. Why Async Code Is Hard to Debug Async code runs later. This makes errors feel…
In this project you will build a form with validation. The form will show error messages under each input field, and it will not submit until everything is valid. What You Will Learn How to validate…
New Features in JavaScript 2022 Supported in all modern browsers since March 2023. Feature Description Array at() Returns an indexed element from an array String at() Returns an indexed element from…
Full JavaScript Console Reference Revised December 2026 Method Description assert() Logs a message only if the provided assertion is false. If true, nothing is outputted, which helps keep logs clean.…
New Features in JavaScript 2021 Feature Description Promise.any() Takes promises as input and returns a single promise String replaceAll() Replaces all occurrences of a substring in a string Numeric…
New Features in JavaScript 2020 Feature Description BigInt Stores values too big to store in a JavaScript number String matchAll() Searchs for all occurrences of a string in a string Promise.allSettl…
New Features in JavaScript 2019 Feature Description String trimStart() Removes whitespace from the start of a string String trimEnd() Removes whitespace from the end of a string Object.fromEntries Cr…
New Features in JavaScript 2018 Feature Description Asynchronous Iteration Allows the await keyword in for/of loops Promise Finally Schedules a function to be executed when a promise has been "fulfil…
New Features in JavaScript 2017 Feature Description String padStart() Pads the beginning of a string String padEnd() Pads the end of a string Object entries() Returns an array of the key/value pairs…
New Features in JavaScript 2016 Supported in all modern browsers since March 2017. Feature Description ** Raises the first operand to the power of the second **= Raises the value of a variable to the…
ECMAScript 2015 The second major revision to JavaScript. ECMAScript 2015 is also known as ES6. New Features in JavaScript 2015 (ES6) Feature Description The let keyword Declares a variable with block…
ECMAScript 2009 The first major revision to JavaScript. ECMAScript 2009 is also known as ES5. ES5 Features Feature Description "use strict" Allows code to be executed in "strict mode" String [] acces…
ECMAScript 3 (1999) The first revision to JavaScript. ECMAScript 1999 is also known as ES3. ES3 Features Feature Description Regular expressions Sequence of characters that forms a search pattern Err…
Current JavaScript Version The current version is ES2025. ECMAScript is the official name of the JavaScript standard. JavaScript was invented by Brendan Eich in 1995 and became an ECMA standard in 19…
JavaScript / ECMAScript was invented by Brendan Eich in 1995. It was developed for the Netscape browser, and then handed over to ECMA and became the ECMA-262 standard in 1997. What is ECMA? ECMA stan…