W3cubDocs

/JavaScript

Empty

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

Syntax

;

Description

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.

Examples

Empty loop body

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

let arr = [1, 2, 3];

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

console.log(arr);
// [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!!!

In the next example, an if...else statement without curly braces ({}) is used.

If three is true, nothing will happen, four does not matter, and also the launchRocket() function in the else case will not be executed.

if (one)
  doOne();
else if (two)
  doTwo();
else if (three)
  ; // nothing here
else if (four)
  doFour();
else
  launchRocket();

Specifications

Browser compatibilityUpdate compatibility data on GitHub

Desktop
Chrome Edge Firefox Internet Explorer Opera Safari
Empty statement (;) 3 12 1 3 3 5
Mobile
Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
Empty statement (;) 1 18 4 10.1 4.2 1.0
Server
Node.js
Empty statement (;) 0.1.100

See also

© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://wiki.developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/Empty