You’re reading the English version of this content since no translation exists yet for this locale. Help us translate this article!
An empty statement is used to provide no statement, although the JavaScript syntax would expect one.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
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; it combines several statements into a single one.
Examples
The empty statement is sometimes used with loop statements. See the following example with an empty loop body:
var arr = [1, 2, 3]; // Assign all array values to 0 for (i = 0; i < arr.length; arr[i++] = 0) /* empty statement */ ; console.log(arr) // [0, 0, 0]
Note: It is a good idea to comment the intentional use of the empty statement, as it is not really obvious to distinguish between 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!!!
Another Example: An if...else
statement without curly braces ({}
). 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 compatibility
Desktop | Mobile | Server | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Empty statement (; ) | Chrome Full support 3 | Edge Full support 12 | Firefox Full support 1 | IE Full support 3 | Opera Full support Yes | Safari Full support Yes | WebView Android Full support 1 | Chrome Android Full support 18 | Firefox Android Full support 4 | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support 1.0 | nodejs Full support Yes |
Legend
- Full support
- Full support