File size: 1,845 Bytes
780c9fe |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
---
title: Empty statement
slug: Web/JavaScript/Reference/Statements/Empty
page-type: javascript-statement
browser-compat: javascript.statements.empty
sidebar: jssidebar
---
An **empty statement** is used to provide no statement, although the
JavaScript syntax would expect one.
{{InteractiveExample("JavaScript Demo: Empty statement")}}
```js interactive-example
const array = [1, 2, 3];
// Assign all array values to 0
for (let i = 0; i < array.length; array[i++] = 0 /* empty statement */);
console.log(array);
// Expected output: Array [0, 0, 0]
```
## Syntax
```js-nolint
;
```
## 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](/en-US/docs/Web/JavaScript/Reference/Statements/block),
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:
```js-nolint
const 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:
```js-nolint example-bad
if (condition); // Caution, this "if" does nothing!
killTheUniverse(); // So this always gets executed!!!
```
## Specifications
{{Specifications}}
## Browser compatibility
{{Compat}}
## See also
- [Block statement](/en-US/docs/Web/JavaScript/Reference/Statements/block)
|