Référence JavaScript
Cette partie de la section JavaScript de MDN regroupe plusieurs notions sur le langage JavaScript. En savoir plus à propos de cette référence.
Les objets globaux
Ce chapitre documente l'ensemble des objets natifs standards JavaScript ainsi que leurs méthodes et leurs propriétés.
Propriétés - valeurs
Les propriétés globales renvoient une valeur simple, elles ne possèdent aucune propriété ou méthode :
InfinityNaNundefined- le littéral
null globalThis
Propriétés - fonctions
Les fonctions globales, appelées globalement (et non par rapport à un objet), renvoient directement leur résultat à l'objet appelant.
Objets fondamentaux
Ces objets sont les objets fondamentaux de JavaScript. Parmi ces objets, on retrouve les objets génériques, les fonctions et les erreurs.
Nombres et dates
Ces objets permettent de manipuler les nombres, dates et calculs mathématiques.
Manipulation de textes
Collections indexées
Ces objets sont des collections ordonnées par un index. Cela inclut les tableaux (typés) et les objets semblables aux tableaux.
Collections avec clefs
Ces objets représentent des collections d'objets avec clefs. Ils contiennent des éléments itérables, dans leur ordre d'insertion.
Données structurées
Ces objets permettent de représenter et de manipuler des tampons de données (buffers) et des données utilisant la notation JSON (JavaScript Object Notation).
Objets de contrôle d'abstraction
Introspection
Internationalisation
Ces objets ont été ajoutés à ECMAScript pour des traitements dépendants de particularités linguistiques. Ils possèdent leur propre spécification.
WebAssembly
Autres
Les instructions
Ce chapitre documente les différentes instructions et déclarations JavaScript.
Pour une liste alphabétique, voir le volet de navigation situé à gauche sur cette page.
Contrôle du flux
Bloc-
Une instruction de bloc est utilisée pour regrouper zéro ou plusieurs instructions. Un bloc est délimité par une paire d'accolades.
break-
Cette instruction termine la boucle ou l'instruction
switchou l'instructionlabelen cours et continue l'exécution sur l'instruction suivant l'instruction terminée. continue-
Cette instruction termine l'exécution des instructions dans la boucle courante, ou la boucle avec une étiquette correspondante, et continue l'exécution de la boucle dans l'itération suivante.
Vide-
Une instruction vide est utilisée pour ne fournir aucune instruction là où JavaScript en attendrait une.
if...else-
Cette instruction exécute une instruction si une condition donnée est vérifiée. Si la condition n'est pas vérifiée une autre instruction pourra être exécutée.
switch-
Cette instruction permet d'évaluer une expression et de faire correspondre le résultat de cette expression avec différents cas et d'exécuter les instructions associées aux cas qui ont chacun un identifiant.
throw-
Cette instruction lève une exception.
try...catch-
Cette instruction permet de spécifier un ensemble d'instructions à tenter, et de préciser le traitement à effectuer dans le cas où une exception est produite.
Déclarations
var-
Cette instruction permet de déclarer une variable, éventuellement en fournissant une valeur pour permettant de l'initialiser.
let-
Cette instruction permet de déclarer une variable locale dans une portée d'un bloc et éventuellement d'initialiser sa valeur.
const-
Cette instruction déclare une constante en lecture seule.
Fonctions et classes
function-
Cette instruction déclare une fonction avec les paramètres donnés.
function*-
Les fonctions génératrices permettent de créer des itérateurs plus simplement.
-
async function -
Cette instruction déclare une fonction asynchrone avec les paramètres associés.
return-
Cette instruction spécifie la valeur de retour renvoyée par une fonction.
class-
Déclare une classe.
Itérations
do...while-
Cette instruction crée une boucle qui s'exécute tant que la condition est vraie. La condition est évaluée après avoir exécuté une itération de boucle, ce qui fait que cette boucle sera exécutée au moins une fois.
for-
Cette instruction crée une boucle qui se base sur trois expressions facultatives. Ces expressions sont entre parenthèses, séparées par des points virgules et suivies par l'instruction à exécuter dans la boucle.
for each...in-
Cette instruction itère une variable donnée sur toutes les propriétés d'un objet. Pour chaque propriété distincte, une instruction spécifique est exécutée.
for...in-
Cette instruction effectue, dans un ordre arbitraire, une boucle sur les propriétés énumérables d'un objet. Pour chacune des différentes propriétés, des instructions peuvent être exécutées.
for...of-
Cette instruction parcourt les objets sur lesquels on peut itérer (comme les tableaux, les itérateurs et générateurs). Pour ce faire, elle utilise un mécanisme d'itération sur mesure utilisant des instructions à exécuter pour chacune des différentes propriétés.
for await...of-
Cette instruction parcourt les objets itérables asynchrones tels que les tableaux, les itérateurs et générateurs. Elle utilise un mécanisme d'itération spécifique et des instructions sont exécutées pour la valeur de chaque propriété.
while-
Cette instruction permet de créer une boucle qui s'exécute tant qu'une condition de test est vérifiée. La condition est évaluée avant d'exécuter l'instruction contenue dans la boucle.
Autres
debugger-
Cette instruction appelle une fonctionnalité de débogage. Si aucune fonctionnalité de débogage n'est disponible, l'instruction n'a aucun effet.
export-
Cette instruction permet à un script signé de fournir des propriétés, fonctions et des objets à d'autres scripts (signés ou non).
import-
Cette instruction permet à un script d'importer des propriétés, fonctions ou objets depuis un script qui les exporte.
import.meta-
Une méta propriété qui expose des métadonnées à propos du module JavaScript.
label-
Cette instruction fournit un identifiant auquel il est possible de se référer en utilisant une instruction
breakoucontinue. with-
Cette instruction permet d'étendre la portée chaînée d'une instruction.
Les expressions et opérateurs
Ce chapitre documente l'ensemble des expressions et opérateurs JavaScript.
Pour une liste triée par ordre alphabétique, voir sur la barre de navigation à gauche.
Expressions primaires
Mots-clés de base et expressions générales en JavaScript.
this-
Le mot-clé
thisfait référence à une propriété spéciale indiquant le contexte d'exécution. function-
Le mot-clé
functiondéfinit une expression de fonction. class-
Le mot-clé
classdéfinit une expression de classe. function*-
Le mot-clé
function*définit une expression de générateur. yield-
Ce mot-clé permet de suspendre ou de reprendre l'exécution d'une fonction génératrice.
yield*-
Ce mot-clé délègue à une autre fonction génératrice ou à un objet itérable.
async function-
Le couple de mots-clés
async functiondéfinit une expression de fonction asynchrone. await-
Ce mot-clé permet de suspendre et de reprendre l'exécution d'une fonction asynchrone et d'attendre la résolution ou l'échec de la promesse.
[]-
Syntaxe d'initialisation littérale pour les tableaux.
{}-
Syntaxe d'initialisation littérale pour les objets.
/ab+c/i-
Syntaxe pour les expressions littérales d'expressions rationnelles.
( )-
Opérateur de groupement.
Expression « vers la gauche »
Les valeurs situées à gauche sont la cible de l'affectation.
- Accesseurs de propriété
-
Les opérateurs d'accès aux membres permettent d'accéder à une propriété ou à une méthode d'un objet. (cela regroupe
objet.proprieteetobjet["propriete"]). new-
L'opérateur
newcrée une instance grâce à un constructeur. new.target-
Pour les constructeurs,
new.targetfait référence au constructeur invoqué avecnew. import.meta-
Un objet qui expose des métadonnées spécifiques au contexte pour un module JavaScript.
super-
Le mot-clé
superappelle le constructeur parent. ...obj-
La syntaxe de décomposition permet de développer une expression là où plusieurs arguments (dans le cas des appels à une fonction) ou là où plusieurs éléments (dans le cas des tableaux) sont attendus.
Incrémentation et décrémentation
Des opérateurs préfixes ou suffixes pour incrémenter/décrémenter.
Opérateurs unaires
Une opération unaire est une opération qui ne manipule qu'un seul opérande.
delete-
L'opérateur
deletepermet de supprimer une propriété d'un objet. void-
L'opérateur
voidpermet d'ignorer la valeur de retour d'une expression. typeof-
L'opérateur
typeofdétermine le type d'un objet donné. +-
L'opérateur unaire
+convertit son opérande en une valeur de typenumber. --
L'opérateur unaire
-convertit son opérande en nombre puis prend son opposé. ~-
L'opérateur binaire NON.
!-
L'opérateur logique NON.
Opérateurs arithmétiques
Les opérateurs arithmétiques utilisent des valeurs numériques (littérales ou variables) pour leurs opérandes et renvoient une seule valeur numérique en résultat.
Opérateurs relationnels
Un opérateur de comparaison compare ses opérandes et renvoie une valeur booléenne en fonction de la vérité de cette comparaison.
in-
L'opérateur
indétermine la présence d'une propriété donnée au sein d'un objet. instanceof-
L'opérateur
instanceofdétermine si un objet est une instance d'un autre objet. <-
L'opérateur d'infériorité strict.
>-
L'opérateur de supériorité stricte.
<=-
L'opérateur d'infériorité.
>=-
L'opérateur de supériorité.
Note : => n'est pas un opérateur mais la notation utilisée pour les fonctions fléchées.
Opérateurs d'égalité
Le résultat de l'évaluation fournie par un opérateur d'égalité est toujours un booléen, fonction de la vérité de la comparaison effectuée.
Opérateurs de décalage binaires
Ces opérations permettent de décaler les bits de la représentation binaire de l'opérande.
Opérateurs binaires booléens
Ces opérateurs manipulent leurs opérandes comme des ensembles de 32 bits et renvoient des valeurs numériques standard.
Opérateurs logiques
Les opérateurs logiques sont généralement utilisés avec des valeurs booléennes, quand c'est le cas, la valeur de retour de l'expression est une valeur booléenne.
Opérateur conditionnel ternaire
(condition ? ifTrue : ifFalse)-
L'opérateur conditionnel renvoie une valeur parmi deux selon la valeur logique de la condition portée par le premier opérande.
Opérateur de chaînage optionnel
Opérateurs d'affectation
Un opérateur d'affectation permet d'affecter une valeur à son opérande gauche en fonction de la valeur de son opérande droit.
=-
Opérateur d'affectation.
*=-
Opérateur de multiplication et d'affectation.
**=-
Opérateur d'exponentiation et d'affectation.
/=-
Opérateur de division et d'affectation.
%=-
Opérateur de reste et d'affectation.
+=-
Opérateur d'addition et d'affectation.
-=-
Opérateur de soustraction et d'affectation
<<=-
Opérateur de décalage à gauche et d'affectation.
>>=-
Opérateur de décalage à droite et d'affectation.
>>>=-
Opérateur de décalage à droite non signé et d'affectation.
&=-
Opérateur binaire ET et d'affectation.
^=-
Opérateur binaire OU exclusif et d'affectation.
|=-
Opérateur binaire OU et d'affectation.
&&=-
Opérateur booléen ET et d'affectation.
||=-
Opérateur booléen OU et d'affectation.
??=-
Opérateur d'affectation et de logique nulle.
-
[a, b] = [1, 2]{a, b} = {a:1, b:2} -
L'affectation par décomposition permet d'affecter les propriétés d'un tableau ou d'un objet à des variables en utilisant une syntaxe similaire à celle des littéraux pour les tableaux et les objets.
Opérateur virgule
,-
L'opérateur virgule permet d'évaluer plusieurs expressions dans une seule instruction et renvoie le résultat de la dernière expression.
Les fonctions
Ce chapitre aborde les manières de travailler avec les fonctions JavaScript pour développer vos applications.