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 :
Propriétés - fonctions
Les fonctions globales, appelées globalement (et non par rapport à un objet), renvoient directement leur résultat à l'objet appelant.
eval()
uneval()
isFinite()
isNaN()
parseFloat()
parseInt()
decodeURI()
decodeURIComponent()
encodeURI()
encodeURIComponent()
escape()
unescape()
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.
Object
Function
Boolean
Symbol
Error
EvalError
InternalError
RangeError
ReferenceError
StopIteration
SyntaxError
TypeError
URIError
Nombres et dates
Ces objets permettent de manipuler les nombres, dates et calculs mathématiques.
Manipulation de textes
Ces objets permettent de manipuler des chaînes de caractères.
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.
Array
Int8Array
Uint8Array
Uint8ClampedArray
Int16Array
Uint16Array
Int32Array
Uint32Array
Float32Array
Float64Array
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.
Collections vectorielles
Les types de données vectoriels SIMD sont des objets dont les données sont organisées de façon linéaire :
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
Réflexion
Internationalisation
Ces objets ont été ajoutés à ECMAScript pour des traitements dépendants de particularités linguistiques. Ils possèdent leur propre spécification.
Objets non-standards
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
switch
ou l'instructionlabel
en 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.
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.
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.
label
- Cette instruction fournit un identifiant auquel il est possible de se référer en utilisant une instruction
break
oucontinue
.
-
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 alphabétique, voir le volet de navigation situé à gauche sur cette page.
Expressions primaires
Les mots-clés basiques et les expressions générales en JavaScript.
this
- Le mot-clé
this
fait référence au contexte d'exécution de la fonction. function
- Le mot-clé
function
définit une expression de fonction. -
class
- Le mot-clé
class
définit une expression de classe. -
function*
- Le mot-clé
function*
définit une expression pour une fonction génératrice. -
yield
- Cet opérateur permet de suspendre et de reprendre l'exécution d'une fonction génératrice.
-
yield*
- Cet opérateur permet de déléguer l'exécution de la fonction à une autre fonction ou un autre objet itérable.
[]
- Littéral initialisateur de tableau.
{}
- Littéral initialisateur d'objet.
/ab+c/i
- Littéral d'expression rationnelle.
( )
- Opérateur de groupement.
Expressions « vers la gauche »
On affectera des valeurs aux variables à gauche de l'expression.
- Opérateurs de membres
- Les opérateurs de membres permettent d'accéder à une propriété ou une méthode d'un objet (
objet.propriété
etobject["propriété"]
). new
- L'opérateur
new
permet de créer une instance d'un constructeur. - new.target
- Dans les constructeurs,
new.target
fait référence au constructeur invoqué parnew
. -
super
- Le mot-clé
super
permet d'appeler le constructeur parent. -
...obj
- L'opérateur de décomposition permet de développer une expression là où on attend plusieurs arguments (pour des appels de fonctions) ou plusieurs éléments (pour les littéraux de tableaux).
Incrémentation et décrémentation
Les opérateurs d'incrémentation et de décrémentation, suffixe et préfixe :
A++
- Opérateur d'incrémentation suffixe.
A--
- Opérateur de décrémentation suffixe.
++A
- Opérateur d'incrémentation préfixe.
--A
- Opérateur de décrémentation préfixe.
Opérateurs unaires
Une opération unaire est une opération qui ne possède qu'un opérande.
delete
- L'opérateur
delete
permet de supprimer une propriété d'un objet. void
- L'opérateur
void
écarte la valeur de retour d'une expression. typeof
- L'opérateur
typeof
permet de déterminer le type d'un objet donné. +
- Le plus unaire permet de convertir son opérande en une valeur du type
Number
. -
- Le plus unaire permet de convertir son opérande en une valeur du type
Number
puis d'en prendre l'opposé. ~
- L'opérateur binaire NON (NOT).
!
- L'opérateur du NON logique.
Opérateurs arithmétiques
Les opérateurs arithmétiques utilisent des opérandes numériques et renvoie une valeur numérique.
+
- L'opérateur d'addition.
-
- L'opérateur de soustraction.
/
- L'opérateur de division.
*
- L'opérateur de multiplication.
%
- L'opérateur du reste.
-
**
- Opérateur de puissance (exponentiation).
Opérateurs relationnels
Un opérateur de comparaison permet de comparer deux opérandes et de renvoyer une valeur booléenne selon le résultat de cette comparaison.
in
- L'opérateur
in
permet de déterminer si un objet possède une propriété donnée. instanceof
- L'opérateur
instanceof
permet de déterminer si un objet est une instance d'un autre objet. <
- Opérateur inférieur strict.
>
- Opérateur supérieur strict.
<=
- Opérateur inférieur ou égal.
>=
- Opérateur supérieur ou égal.
Opérateurs d'égalité
Un opérateur d'égalité considère deux opérandes et produit un résultat booléen basé sur le résultat de la comparaison.
==
- Opérateur d'égalité faible.
!=
- Opérateur d'inégalité faible.
===
- Opérateur d'égalité stricte.
!==
- Opérateur d'inégalité stricte.
Opérateurs de décalage binaires
Ces opérations permettent de décaler les bits contenus dans l'opérande.
<<
- Opérateur binaire de décalage à gauche.
>>
- Opérateur binaire de décalage à droite.
>>>
- Opérateur binaire de décalage à droite non-signé.
Opérateurs binaires logiques
Les opérateurs binaires logiques traitent leurs opérandes comme des valeurs sur 32 bits et renvoient une valeur numérique JavaScript correspondant au résultat.
Opérateurs logiques
Les opérateurs logiques sont généralement utilisés avec des valeurs booléennes et renvoient une valeur booléenne, résultat de l'opération.
Opérateur conditionnel ternaire
(condition ? siVrai : siFaux)
-
Cet opérateur renvoie une des deux valeurs fournie en fonction de la valeur logique de la condition.
Opérateurs d'affectation
Un opérateur d'affectation permet d'affecter une valeur à son opérande gauche en se basant sur la valeur de l'opérande droit.
=
- Opérateur d'affectation.
*=
- Affectation après multiplication.
/=
- Affectation après division.
%=
- Affectation du reste.
+=
- Affectation après addition.
-=
- Affectation après soustraction.
<<=
- Affectation après décalage à gauche.
>>=
- Affectation après décalage à droite.
>>>=
- Affectation après décalage à droite non-signé.
&=
- Affectation après ET binaire.
^=
- Affectation après OU exclusif binaire.
|=
- Affectation après OU binaire.
-
[a, b] = [1, 2]
{a, b} = {a:1, b:2}
-
L'affectation par décomposition permet de d'affecter des propriétés d'un objet ou des éléments d'un tableau à plusieurs variables. Cela permet d'utiliser une syntaxe semblable aux littéraux de tableaux/objets.
Opérateur virgule
,
- L'opérateur virgule permet d'évaluer plusieurs expressions en une seule instruction et de renvoyer le résultat de la dernière expression.
Fonctionnalités non-standards
-
Opérateurs/Expression_fonction_génératrice_historique
- Le mot-clé
function
peut être utilisé afin de définir une fonction génératrice historique. au sein d'une expression. - Expression de fermetures
- La syntaxe d'expression de fermeture est un raccourci pour écrire des fonctions simples.
-
[for (x of y) x]
- Compréhensions de tableau.
-
(for (x of y) y)
- Compréhensions de générateurs.
Les fonctions
Ce chapitre aborde les manières de travailler avec les fonctions JavaScript pour développer vos applications.