JavaScript


Dictionnaire / Objet

Remi Forax

Dictionnaire / Objet

Dictionary ?

“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

Dictionnaire ?

“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

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 !

Accéder aux valeurs

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)

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

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 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

Destructuration d'objet

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

 

Syntaxe introduite avec ECMAScript 6 !

Objet pas primitif

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

 

 

Il faut comparer chaque champ !

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

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

 

for(in)

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()