Enfin un 🇬🇧 article clair sur ce que sont les WeakMap
en JavaScript et quels sont les cas d'usage.
Elles servent à attacher une valeur à un objet de manière "externe", sans modifier l'objet lui-même. Un peu comme si vous êtes vendeur dans un magasin et attachez l'étiquette avec le prix sur un objet. Si l'objet disparaît, l'étiquette disparaît aussi. Donc si l'objet auquel vous attachez la WeakMap
est supprimé par le garbage collector, votre WeakMap
l'est aussi.
C'est donc parfait pour attacher une computed property à un objet par exemple, ou pour créer des propriétés réellement privées qui ne seront pas accessible à du code qui n'a pas accès à la WeakMap
.
Ce sont des cas bien spécifiques mais c'est intéressant de savoir que ça existe.