What is the difference between an expression and a statement in JavaScript?

JavaScript, Type · Nov 7, 2021

JavaScript distinguishes expressions and statements. An expression is any valid unit of code that resolves to a value. A statement is a unit of code that performs an action. Some examples:

// Statements
let x = 0;
function add(a, b) { return a + b; }
if (true) { console.log('Hi'); }

// Expressions
x;          // Resolves to 0
3 + x;      // Resolves to 3
add(1, 2);  // Resolves to 3

Anywhere JavaScript expects a statement, you can also write an expression. This kind of statement is called an expression statement. Conversely, you cannot write a statement where JavaScript expects an expression.

Written by Angelos Chalaris

I'm Angelos Chalaris, a JavaScript software engineer, based in Athens, Greece. The best snippets from my coding adventures are published here to help others learn to code.

If you want to keep in touch, follow me on GitHub or Twitter.

More like this