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