Bonjour đ
Aujourdâhui, nous allons faire une rencontre profonde, chaleureuse et pleine de rires avec une structure de donnĂ©es charismatique qui se promĂšne dans lâunivers JavaScript en disant :
« Je ne suis pas un objet, je suis une Map. »
Cet article ne va pas juste effleurer le sujet.
Cet article sera :
- rempli dâexemples đ§Ș
- plein dâanalogies issues de la vraie vie đ§
- chargĂ© dâastuces pratiques đ ïž
- de ceux qui te font dire : « Aaaah, maintenant je comprends ! » đĄ
Si tu es prĂȘt(e)âŠ
Mettons Map sur scĂšne đ€
đ€ Quâest-ce quâune Map en JavaScript ? (En quoi est-elle diffĂ©rente dâun Object?)
En JavaScript, la plupart des gens utilisent automatiquement les Object pour stocker des données.
Mais Map arrive et dit :
« Moi, je fais ça de maniĂšre un peu plus premium. » đ
Une Map est une structure de donnĂ©es basĂ©e sur le principe clĂ©âvaleur, mais qui le fait de façon plus claire, plus flexible et plus performante.
đ Quelle est la plus grande diffĂ©rence ?
Dans une Map, tu peux utiliser ABSOLUMENT TOUT comme clé :
- string
- number
- boolean
- object
- array
- function
Avec les Object, on reste souvent coincé avec des clés de type string.
đ ïž Comment crĂ©er une Map
Le début est trÚs simple :
const myMap = new Map();
Que fait cette ligne ?
- Elle crée une nouvelle Map
- Elle est vide pour lâinstant
- Comme un tout nouveau carnet đ
Tu peux aussi créer une Map avec des données initiales :
const userMap = new Map([
["name", "Cansu"],
["age", 25],
["isDeveloper", true]
]);
đ Chaque ligne est une paire [clĂ©, valeur].
Map dit : « Merci dâarriver bien organisĂ©(e). » đ
â Ajouter des donnĂ©es : set()
Le mot prĂ©fĂ©rĂ© de Map : set đ
myMap.set("city", "Istanbul");
myMap.set(34, "Plaque dâimmatriculation");
myMap.set(true, "Oui, ceci peut aussi ĂȘtre une clĂ©");
Que nous dit ce code ?
set(key, value)â ajoute une donnĂ©e- Les clĂ©s sont uniques (une clĂ© identique Ă©crase lâancienne valeur)
- Le type de donnĂ©e nâa aucune importance â Map est un esprit libre đïž
đ„ Astuce pro :
myMap.set("a", 1).set("b", 2).set("c", 3);
Oui⊠tu peux les enchaĂźner đ
đ Lire des donnĂ©es : get()
On veut toujours rĂ©cupĂ©rer ce quâon ajoute.
Map ne te brise jamais le cĆur đ
myMap.get("city"); // "Istanbul"
myMap.get(34); // "Plaque dâimmatriculation"
Et si ça nâexiste pas ?
myMap.get("country"); // undefined
Pas de drame.
Pas dâerreur.
Elle dit simplement : « Pas ici. » đ
â La clĂ© existe-t-elle ? has()
Pour vérifier si une clé existe :
myMap.has("city"); // true
myMap.has("country"); // false
đ§ Analogie de la vraie vie :
« Y a-t-il du chocolat dans ce placard ? » đ«
â Supprimer des donnĂ©es : delete()
Comme quand tu enlĂšves certaines choses de ta vieâŠ
Tu peux aussi les enlever dâune Map đ
myMap.delete(34);
Si elle existe, elle est supprimée.
Sinon, Map continue tranquillement.
Zéro drama.
đ§č Tout supprimer : clear()
Pour celles et ceux qui disent : « Jâai besoin dâun nouveau dĂ©part » :
myMap.clear();
La Map est impeccable.
Nouvelle page, nouveaux espoirs âš
đ Taille dâune Map : size
La fameuse galĂšre avec les Object :
Object.keys(obj).length;
Map regarde ça et répond simplement :
myMap.size;
Câest tout.
Minimalisme âš
đ Parcourir une Map
Avec forEach :
myMap.forEach((value, key) => {
console.log(key, value);
});
đ Lâordre est conservĂ©
đ Parcourt dans lâordre dâinsertion
đ Tu gardes le contrĂŽle đ
Avec for…of (la mĂ©thode la plus cool)
for (const [key, value] of myMap) {
console.log(key, value);
}
Cette structure est nativement compatible avec Map.
Lisible, propre, stylĂ©e đ
đ§ Utiliser des objets comme clĂ©s dans une Map (lĂ oĂč la magie opĂšre)
const user = { id: 1 };
const settings = new Map();
settings.set(user, "Admin");
đ MĂȘme objet = mĂȘme clĂ©
đ Impossible de faire ça correctement avec un Object
Cette fonctionnalitĂ© rend Map lĂ©gendaire đ„
đ Map vs Object (comparaison rĂ©aliste)
| Fonctionnalité | Map | Object |
|---|---|---|
| Types de clés | Tout | Majoritairement string |
| Ordre | Conservé | Non garanti |
| Taille | .size | Travail supplémentaire |
| Parcours | TrĂšs propre | Ătapes en plus |
| Performance | đ„ | đ€·ââïž |
đŻ Quand faut-il utiliser une Map ?
â Quand tu as besoin dâobjets ou de fonctions comme clĂ©s
â Quand lâordre est important
â Quand tu ajoutes/supprimes souvent des Ă©lĂ©ments
â Quand tu veux un code plus lisible et plus propre
đ Map est le bon choixđ
đĄ Mini astuces pratiques
âš Les Map ne se convertissent pas directement en JSON (il faut passer par un tableau)
⚠Les Map adorent les références, les primitives doivent correspondre exactement
âš Tu peux cloner une Map avec new Map(existingMap)
â€ïž Conclusion : Map = Monter de niveau en JavaScript
Quand tu commences à utiliser les Map, tu ressens ça :
« Je nâĂ©cris plus du code au hasard⊠je sais ce que je fais. » đ
Code plus propre
Moins de bugs
Plus de sĂ©rĂ©nitĂ© đż

