class Cat {
storage = new Map()
constructor(id) {
if(storage.has(id)) return storage.get(id)
storage.set(id, this)
}
}
Je souhaite que l'objet soit retiré du stockage si les références ne sont pas utilisées dans l'application. Mais si les liens de l'application existent et que nous essayons de créer un objet avec le même ID, renvoyez cet objet plutôt que d'en créer un nouveau. Comment je peux le faire sans destructeurs?WeakMap Pattern Singleton sans fuite de mémoire
Mais quand toutes les références à l'objet disparaissent de l'application et de l'objet retiré du stockage, alors il n'y a rien de mal à créer une nouvelle instance de l'objet
donc quand il n'y a pas de référence à un c1' objet 'Cat' avec id' dans l'application, que voulez-vous? le retirer de la carte et la prochaine fois créer un nouvel objet avec 'new Cat (" c1 ")'? –
@Koushik Chatterjee oui, il est toujours nécessaire que les objets avec id unique soient le même objet/Mais quand toutes les références à l'objet disparaissent de l'application, et l'objet retiré du stockage, il n'y a rien de mal à créer une nouvelle instance de l'objet – Maxmaxmaximus
Est-ce que cela fonctionne dans Node ou les navigateurs? –