javascript - tutorial - Array mecanografiado vs cualquier
typescript object type (1)
La sección 3.5.4 de especificaciones especifica su relación:
Un tipo de matriz del tipo
ElementType[]
es equivalente a un tipo de objeto con la firma de índice[index: number]: ElementType
más un conjunto de miembros equivalente al tipo de interfaz globalArray
donde todas las apariciones del tipo_element
se reemplazan conElementType
.
No poder asignar [[], []]
o []
a Array
es un error.
No hay noción de una matriz de "tamaño estático" en TypeScript. Todos hablan de la misma matriz de JavaScript subyacente (que tiene un tamaño dinámico):
var x = [1, 2];
x.push(3);
x[13] = 5;
En TypeScript, ¿cuál es la diferencia entre Array
y any[]
? ¿Array se refiere a matrices de tamaño dinámico (durante el tiempo de compilación, por supuesto) y any[]
refiere a matrices de tamaño estático pasadas como argumentos y de tipo inferido por el compilador? Porque actualmente cuando tengo funciones como:
mergeArrays(arr1 : Array, arr2 : Array);
Cuando llama a esta función con datos estáticos, TypeScript usa una matriz escrita ( type[]
).
mergeArrays([true, false], [1, 2]);
// bool[] number[]
Entonces, ¿hay alguna diferencia de tiempo de compilación entre los 2? ¿Cuándo uso any[]
y cuándo uso Array
? A veces definiendo vars con Array
..
var info:Array;
..se muestran errores como "No se puede convertir [] [] a Array" cuando se configura de la siguiente manera:
info = [[], []];