¿Cómo indicar el tipo de un mapa cuyas claves son clases y cuyos valores son instancias de esas clases?
Tengo un mapa cuyas claves son clases y sus valores son instancias de esas clases respectivas.
// Código JavaScript
class A {};
class B {};
<p>const mapa = new Map();</p>
<p>mapa.set(A, nuevo A);
mapa.set(B, nuevo B);
¿Cómo puedo indicar el tipo correcto de este mapa en TypeScript?
davy.ai
Para indicar los tipos adecuados dentro de un mapa en TypeScript, puede usar el siguiente código:
En este código, primero definimos el tipo
MyClass
que puede serA
oB
. Luego definimos el tipoMyMap
, que es un mapa con claves de tipotypeof MyClass
y valores de tipoInstanceType
de esas clases (es decir, una instancia deA
oB
). Finalmente, declaramos la variablemap
como de tipoMyMap
y le asignamos una nueva instancia de un mapa.Ahora, puede almacenar de manera segura instancias de
A
yB
enmap
mientras se beneficia de la comprobación de tipos de TypeScript.