Remi Forax
“In computer science, an associative array, map, symbol table, or dictionary is an abstract data type composed of a collection of (key, value) pairs, such that each possible key appears just once in the collection.”
source: Wikipedia.org - Dictionary
“En informatique, un tableau associatif, map, table des symboles, ou dictionnaire est un type abstrait composé d'une collection de couples (clé, valeur), telle que chaque clé possible apparait une seule fois dans la collection.”
source : Wikipedia.org - 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 strings !
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
Comme pour les tableaux, il est possible d'utiliser les [ ] pour obtenir la valeur correspondant à une clé
On utilise . si la clé est constante, [] si la clé est une string
Il est possible de changer la valeur associée à une clé ou d'ajouter un couple clé/valeur
Le dictionnaire indexe les valeurs par leur clé, il ne peut y avoir qu'une seule valeur pour une clé donnée
En JavaScript, les dictionnaires ne sont pas appelés 'dictionary' mais 'object'
L'affichage par défaut (toString()) n'est pas intéressant, on utilise JSON.stringify() à la place
JSON = JavaScript Object Notation
Comme pour les tableaux, on peut destructurer les valeurs d'un objet avec la syntaxe let {key1, key2, ...} = object.
Syntaxe introduite avec ECMAScript 6 !
Un objet n'est pas considéré comme un type primitif,
== compare les addresses en mémoire
Il faut comparer chaque champ !
Un objet permet de regrouper des propriétés ayant trait à un même concept, ce qui permet de structurer le code
Si on veut manipuler plusieurs objets,
on les regroupe dans un tableau
La fonction Object.keys renvoie un tableau des propriétés (clés) d'un objet
On ne peut pas parcourir un objet directement : il faut parcourir ses propriétés, puis pour chaque propriété on peut aller chercher la valeur
La syntaxe for(let variable in obj) permet de parcourir les propriétés des objets (comme en Python).
Cette syntaxe est équivalente au code qui utilise Object.keys()