JavaScript


Objet

Raconté par Vincent Jugé
sur la base d'un cours créé par Rémi Forax

Dictionnaire

Un dictionnaire en JavaScript se déclare entre { et }.
Une clé et une valeur sont séparées par :.
Les couples sont séparés par des virgules.

En JavaScript, les clés sont forcément des string !

Accéder aux valeurs (1/2)

L'opération '.' (dot) permet d'obtenir la valeur correspondant à une clé.

Dans le cas où la clé n'existe pas, la valeur est undefined.

Accéder aux valeurs (2/2)

Comme pour les tableaux, il est possible d'utiliser les [ ] pour obtenir la valeur correspondant à une clé.

On utilise . si la clé est une string codée en dur (sans guillemets), et [] sinon (clé calculée, stockée dans une variable, ou codée en dur avec des guillemets).

Dictionnaire dynamique

Il est possible de changer la valeur associée à une clé ou d'ajouter un couple clé/valeur.

Pas de clé en double !

Le dictionnaire indexe les valeurs par leur clé : il ne peut y avoir qu'une seule valeur pour une clé donnée.

Object vs Dictionary

En JavaScript, les dictionnaires sont appelés
« object » et non « dictionary ».

L'affichage par défaut (toString()) n'est pas intéressant :
on utilise JSON.stringify() à la place.

JSON = JavaScript Object Notation

Déstructuration d'objet

Comme pour les tableaux, on peut destructurer les valeurs d'un objet avec la syntaxe let {key1, key2, …} = object.


Objet pas primitif (1/2)

Un objet n'est pas considéré comme un type primitif,
== compare les addresses en mémoire.

Il faut comparer chaque champ !

Objet pas primitif (2/2)

Les objets sont tous mutables :
attention à l'usage de const !

L'usage de const interdit de réaffecter une variable,
mais autorise la modification de ses champs !

Regrouper des propriétés

Un objet permet de regrouper des propriétés ayant trait à un même concept, ce qui permet de structurer le code.


Tableau d'objets

Si on veut manipuler plusieurs objets,
on les regroupe dans un tableau.


Le tableau des propriétés

La fonction Object.keys renvoie un tableau des propriétés (clés) d'un objet.

Parcourir un objet (1/2)

On peut pas parcourir un objet directement : il faut parcourir ses propriétés, puis aller chercher la valeur de chaque propriété.


Parcourir un objet (2/2)

Il existe un mot-clé spécial pour parcourir les propriétés des objets : for(variable in obj), comme en Python.


Cette syntaxe est équivalente au code qui utilise Object.keys().