Estoy creando un juego de lógica simple llamado "Tres de un crimen" en TypeScript.
Al intentar preasignar una matriz escrita en TypeScript, intenté hacer algo como esto:
var arr = Criminal[];
que dio el error "Verificar el formato del término de expresión".
También intenté hacer esto
var arr : Criminal = [];
y esto produjo "no puede convertir ningún [] a 'Criminal'
¿Cuál es la forma 'TypeScript' para hacer esto?
fuente
El problema de preasignar correctamente una matriz tipada en TypeScript estaba algo oculto debido a la sintaxis literal de la matriz, por lo que no era tan intuitivo como pensé al principio.
La forma correcta sería
Esto le dará una matriz vacía, escrita correctamente, almacenada en la variable 'arr'
Espero que esto ayude a otros!
fuente
Sé que esta es una vieja pregunta, pero recientemente enfrenté un problema similar que no se pudo resolver de esta manera, ya que tuve que devolver una matriz vacía de un tipo específico.
yo tenía
donde
[]
estaba elCriminal[]
tipoNi
return: Criminal[] [];
tampocoreturn []: Criminal[];
trabajó para mí.A primera vista Lo resuelto mediante la creación de una variable de tipo (como se informó correctamente) justo antes de devolverlo, pero (no sé cómo funcionan los motores de JavaScript) que puede crear sobrecarga y es menos legible.
Por rigor, también reportaré esta solución en mi respuesta:
Finalmente encontré la conversión de tipos de TypeScript, lo que me permitió resolver el problema de una manera más concisa y legible (y tal vez eficiente):
Espero que esto ayude a los futuros lectores!
fuente
Para uso público, use como a continuación:
fuente