Empty statement

An empty statement is used to provide no statement, although the JavaScript syntax would expect one.

Try it




The empty statement is a semicolon (;) indicating that no statement will be executed, even if JavaScript syntax requires one.

The opposite behavior, where you want multiple statements, but JavaScript only allows a single one, is possible using a block statement, which combines several statements into a single one.


Empty loop body

The empty statement is sometimes used with loop statements. See the following example with an empty loop body:

const arr = [1, 2, 3];

// Assign all array values to 0
for (let i = 0; i < arr.length; arr[i++] = 0) /* empty statement */ ;

// [0, 0, 0]

Unintentional usage

It is a good idea to comment intentional use of the empty statement, as it is not really obvious to distinguish from a normal semicolon.

In the following example, the usage is probably not intentional:

if (condition);      // Caution, this "if" does nothing!
  killTheUniverse(); // So this always gets executed!!!


ECMAScript Language Specification
# sec-empty-statement

Browser compatibility

BCD tables only load in the browser

See also