L'opérateur void permet d'évaluer une expression donnée et de renvoyer undefined.
Syntaxe
void expression
Description
Cet opérateur permet d'insérer des expressions ayant des effets de bord là où on attend une expression qui vaut undefined.
L'opérateur void est souvent utilisé pour obtenir la valeur undefined, généralement avec "void(0)" (qui est l'équivalent de "void 0"). Pour ce cas d'exemple, on aurait très bien pu utiliser la variable globale undefined.
Expressions de fonction appelées immédiatement
Lorsqu'on utilise tout un script dans une fonction qu'on évalue immédiatement, void peut être utilisé pour que le mot-clé function soit traité comme une expression plutôt que comme une déclaration.
void function iife() {
var toto = function () {};
var machin = function () {};
var truc = function () {
toto();
machin();
};
var bidule = function () {};
truc();
bidule();
}();
Les URI JavaScript
Lorsqu'un navigateur utilise une URI avec javascript:, le code de l'URI est évalué et le résultat remplace le contenu de la page, sauf si la valeur renvoyée vaut undefined. L'utilisateur void peut alors être utilisé pour renvoyer cette valeur. Par exemple :
<a href="javascript:void(0);"> Cliquer ici (sans effet) </a> <a href="javascript:void(document.body.style.backgroundColor='green');"> Cliquer ici pour rendre le fond vert </a>
Malgré cela, il n'est pas recommandé d'utiliser le pseudo-protocole javascript:, on lui préférera des méthodes moins risquées et moins intrusives comme les gestionnaires d'événements.
Spécifications
| Spécification | Statut | Commentaires |
|---|---|---|
| ECMAScript 2016 Draft (7th Edition, ECMA-262) La définition de 'Opérateur void' dans cette spécification. |
Projet | |
| ECMAScript 2015 (6th Edition, ECMA-262) La définition de 'L'opérateur void' dans cette spécification. |
Standard | |
| ECMAScript 5.1 (ECMA-262) La définition de 'L'opérateur void' dans cette spécification. |
Standard | |
| ECMAScript 3rd Edition (ECMA-262) La définition de 'L'opérateur void' dans cette spécification. |
Standard | |
| ECMAScript 1st Edition (ECMA-262) La définition de 'L'opérateur void' dans cette spécification. |
Standard | Définition initiale. Implémentée avec JavaScript 1.1 |
Compatibilité des navigateurs
| Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Support simple | (Oui) | (Oui) | (Oui) | (Oui) | (Oui) |
| Fonctionnalité | Android | Chrome pour Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Support simple | (Oui) | (Oui) | (Oui) | (Oui) | (Oui) | (Oui) |
Voir aussi
- L'objet global
undefined