Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. Référence JavaScript
  4. Expressions et opérateurs
  5. L'opérateur void

Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in EnglishAlways switch to English

L'opérateur void

Baseline Widely available

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis ⁨juillet 2015⁩.

L'opérateurvoid permet d'évaluer uneexpression donnée et de renvoyerundefined.

Exemple interactif

const output = void 1;console.log(output);// Expected output: undefinedvoid console.log("expression evaluated");// Expected output: "expression evaluated"void (function iife() {  console.log("iife is executed");})();// Expected output: "iife is executed"void function test() {  console.log("test function executed");};try {  test();} catch (e) {  console.log("test function is not defined");  // Expected output: "test function is not defined"}

Syntaxe

js
void expression;

Description

Cet opérateur permet d'évaluer des expressions retournant une valeur là où on attend une expression qui vautundefined.

L'opérateurvoid est souvent utilisé pour obtenir la valeurundefined, 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 globaleundefined.

Attention àla précédence des opérateurs et notamment de celle devoid, si besoin, on pourra utiliser des parenthèses pour clarifier la résolution de l'expression :

js
void 2 == "2"; // renvoie falsevoid (2 === "2"); // renvoie 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.

js
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#"/fr/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined. L'utilisateurvoid peut alors être utilisé pour renvoyer cette valeur. Par exemple :

html
<a href="#"> Cliquer ici (sans effet) </a><a href="#">  Cliquer ici pour rendre le fond vert</a>

Malgré cela, il n'est pas recommandé d'utiliser le pseudo-protocole#"fonctions_fléchées_sans_valeur_de_retour" >

Fonctions fléchées sans valeur de retour

Les fonctions fléchées raccourcissent la syntaxe pour obtenir la valeur d'une fonction avec le résultat d'une expression qui constitue le corps de la fonction. Ainsi, la fonction renvoie nécessairement une valeur. Aussi, convertir une base de code afin d'utiliser des fonctions fléchées peut avoir certains effets de bord lorsqu'on souhaite qu'une fonction soit simplement exécutée mais pas que sa valeur de retour interfère avec le reste.

Pour éviter de transmettre cette valeur de retour, on pourra utiliser l'opérateurvoid :

js
button.onclick = () => void faireQQc();

Ainsi, la valeur de retour de la fonctionfaireQQc sera bloquée parvoid et c'estundefined qui sera la valeur de retour de la fonction fléchée. Cela s'avère utile si on change l'API defaireQQc par exemple et qu'on souhaite éviter les effets de bord causés par cette modification.

Spécifications

Specification
ECMAScript® 2026 Language Specification
# sec-void-operator

Compatibilité des navigateurs

Voir aussi

Help improve MDN

Learn how to contribute

Cette page a été modifiée le par lescontributeurs du MDN.


[8]ページ先頭

©2009-2025 Movatter.jp