aboutsummaryrefslogtreecommitdiff
path: root/files/fr/web/javascript/reference/statements/empty/index.md
blob: 32e9e3fb811fe764c89c63384dc8681550756a9d (plain)
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
---
title: vide
slug: Web/JavaScript/Reference/Statements/Empty
tags:
  - Instruction
  - JavaScript
  - Reference
translation_of: Web/JavaScript/Reference/Statements/Empty
original_slug: Web/JavaScript/Reference/Instructions/Vide
---
{{jsSidebar("Statements")}}

Une **instruction vide** est utilisée pour ne fournir aucune instruction là où JavaScript en attendrait une.

{{EmbedInteractiveExample("pages/js/statement-empty.html")}}

## Syntaxe

    ;

## Description

L'instruction vide est représentée par un point-virgule (;) qui indique qu'il n'y a aucune instruction à exécuter, même si JavaScript requiert une instruction à cet emplacement. Le comportement réciproque, où on souhaite exécuter plusieurs instructions là où JavaScript en attend une est possible grâce [à l'instruction bloc](/fr/docs/JavaScript/Reference/Instructions/block) qui permet de combiner plusieurs instructions en une seule.

## Exemples

L'instruction vide peut être utilisée dans les boucles. Par exemple, ici on a un corps de boucle totalement vide :

```js
var arr = [1, 2, 3];

// Affecter 0 pour toutes les valeurs du tableau
for (i = 0; i < arr.length; arr[i++] = 0) /* instruction vide */ ;

console.log(arr)
// [0, 0, 0]
```

> **Note :** Cela peut être raisonnable que de commenter l'utilisation d'une instruction vide pour la rendre visible et l'expliciter. Par exemple, dans le code qui suit, le point-virgule ne semble pas intentionnel :

```js
if (condition);  // Attention, ce "if" ne fait rien !
   finDuMonde()  // Cette méthode est donc toujours lancée !!!
```

Un autre exemple avec une instruction {{jsxref("Instructions/if...else")}} sans accolade (`{}`). Si `trois` vaut `true`, rien ne sera exécuté, peu importera la valeur de `quatre`, la fonction `chargerFusée()` ne sera pas exécutée.

```js
if (un)
  faire1èreEtape();
else if (deux)
  faire4èmeEtape();
else if (trois)
  ; // rien ici
else if (quatre)
  faire4èmeEtape();
else
  chargerFusée();
```

## Spécifications

| Spécification                                                                            | État                         | Commentaires         |
| ---------------------------------------------------------------------------------------- | ---------------------------- | -------------------- |
| {{SpecName('ESDraft', '#sec-empty-statement', 'Instruction vide')}} | {{Spec2('ESDraft')}} |                      |
| {{SpecName('ES6', '#sec-empty-statement', 'instruction vide')}}     | {{Spec2('ES6')}}         |                      |
| {{SpecName('ES5.1', '#sec-12.3', 'instruction vide')}}                 | {{Spec2('ES5.1')}}     |                      |
| {{SpecName('ES3', '#sec-12.3', 'instruction vide')}}                     | {{Spec2('ES3')}}         |                      |
| {{SpecName('ES1', '#sec-12.3', 'instruction vide')}}                     | {{Spec2('ES1')}}         | Définition initiale. |

## Compatibilité des navigateurs

{{Compat("javascript.statements.empty")}}

## Voir aussi

- {{jsxref("Instructions/block", "L'instruction de bloc","",1)}}