Quelle est la différence entre ES6 Carte et WeakMap?

À la recherche cette et cette MDN pages, il semble que la seule différence entre les Cartes et WeakMaps est un manque de "taille" de la propriété pour WeakMaps. Mais est-ce vrai? Quelle est la différence entre eux?

  • L'effet est sur le GC. WeakMaps peuvent avoir leurs clés recueillies.
  • il n'y a pas d'exemple pointée sur le MDN à ce sujet. Comme aWeakMap.get(key); // 2 ...(GC action)... aWeakMap.get(key); // dire non défini
  • Votre exemple est impossible. key ne peut être perçu, car il est référencé par vous.
  • je viens de remarquer qu'il n'y a pas d'exemple sur MDN sur GC actions concernant WeakMaps et des Cartes. GC effacer la mémoire pour supprimer les clés pour les deux d'entre eux, n'est-ce pas?
  • La conception de la décision GC actions sont invisibles en Javascript. Vous ne pouvez pas observer la GC fait sa chose.
  • La seule différence est le navigateur de l'utilisation de la mémoire si seulement weakMap méthodes sont utilisées sur map.
  • Voir cette réponse pour plus d'informations sur ce problème.
  • Je voudrais si quelqu'un pourrait-il expliquer s'il y a des différences de performances entre Map et WeakMap. C'était demandé ailleurs, mais cette question a été fermé comme un doublon de celui-ci. Cependant, aucun des actuels des réponses à cette question résoudre les problèmes de performance.