-
Notifications
You must be signed in to change notification settings - Fork 22.4k
/
index.md
69 lines (45 loc) · 1.6 KB
/
index.md
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
---
title: Empty statement
slug: Web/JavaScript/Reference/Statements/Empty
page-type: javascript-statement
browser-compat: javascript.statements.empty
---
{{jsSidebar("Statements")}}
An **empty statement** is used to provide no statement, although the
JavaScript syntax would expect one.
{{EmbedInteractiveExample("pages/js/statement-empty.html")}}
## 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)