Información general sobre las matrices
Una matriz agrupa varios fragmentos de datos en una variable. A los datos de la matriz se hace referencia mediante un único número de índice (para las matrices unidimensionales) o mediante varios números de índice (para las matrices de matrices o las matrices multidimensionales). A cada uno de los elementos de la matriz se hace referencia mediante el identificador de matriz seguido del índice de matriz entre corchetes ([]). Para hacer referencia a la matriz en su totalidad, basta con utilizar el identificador de matriz. La recopilación de datos en matrices simplifica la administración de los datos. Por ejemplo, mediante una matriz, un método puede pasar una lista de nombres a una función utilizando un único parámetro.
Existen dos tipos de matrices en JScript: las matrices JScript y las matrices con tipo. Aunque los dos tipos de matrices son similares, presentan algunas diferencias. Las matrices JScript y las matrices con tipo pueden interactuar entre sí. Por tanto, un objeto Array JScript puede llamar a los métodos y propiedades de cualquier matriz con tipo, y las matrices con tipo pueden llamar a muchos métodos y propiedades del objeto Array. Además, las funciones que aceptan matrices con tipo aceptan objetos Array y viceversa. Para obtener más información, vea Array (Objeto).
Matrices con tipo
Las matrices con tipo (denominadas también matrices nativas) son similares a las matrices utilizadas en lenguajes como C y C++. Las matrices con tipo proporcionan seguridad de tipos ya que sólo almacenan los datos correspondientes al tipo especificado en la declaración de tipo de matriz.
Nota
Puede definir una matriz con tipo de tipo Object para almacenar datos de cualquier tipo.
Cuando el script crea o inicializa la matriz, establece el número de elementos de una matriz con tipo. El único modo de cambiar el número de elementos es volver a crear la matriz. Una matriz con tipo creada con n elementos tiene elementos numerados entre 0 y n-1. Si se intenta obtener acceso a elementos que están fuera de ese intervalo, se produce un error. Además, las matrices con tipos son densas, lo que significa que cada índice del intervalo permitido hace referencia a un elemento.
Un script puede asignar una matriz declarada con tipo a una variable o constante, o puede pasar la matriz a una función, operador o instrucción. Cuando se asigne a una variable (o constante), se deberá comprobar que el tipo de datos de la variable coincide con el tipo de la matriz y que las matrices tienen la misma dimensionalidad.
Una matriz con tipo es una instancia del objeto System.Array de .NET Framework. Para tener acceso a los miembros estáticos del objeto System.Array o para crear un objeto System.Array de forma explícita se requiere el nombre completo System.Array. Esta sintaxis lo distingue de Array, el objeto intrínseco de JScript.
Matrices de JScript
Los objetos Array JScript, que proporcionan mayor flexibilidad que las matrices con tipo, deben utilizarse cuando haya que generar una pila genérica, cuando se desee usar una lista de elementos y cuando el rendimiento no sea un aspecto crucial. Sin embargo, dado que las matrices con tipo proporcionan seguridad de tipos, un mayor rendimiento y una interacción más eficaz con otros lenguajes, los programadores prefieren generalmente utilizar matrices con tipo en lugar de matrices JScript.
Una matriz JScript puede almacenar datos de cualquier tipo, lo que permite escribir scripts más fácilmente sin tener en cuenta los conflictos entre tipos. Esta característica debe utilizarse con cautela ya que no tiene en cuenta la comprobación de tipos inflexibles proporcionada por JScript.
Los scripts pueden agregar o quitar elementos de forma dinámica de las matrices JScript. Para agregar un elemento de matriz, asigne un valor al elemento. El operador delete sirve para quitar elementos.
Las matrices JScript son dispersas. Es decir, si una matriz tiene tres elementos, numerados como 0, 1 y 2, puede haber un elemento 50 aunque no existan los elementos que van del 3 al 49. Cada matriz de JScript tiene una propiedad length que se actualiza automáticamente cuando se agrega un elemento. Si, en el ejemplo anterior, se agrega el elemento 50, el valor de la variable length cambiará a 51 y no a 4.
Un objeto Array JScript y un Object JScript son prácticamente iguales. Las dos diferencias principales estriban en que un Object (de forma predeterminada) no tiene una propiedad de longitud automática y un Object JScript no tiene las propiedades y métodos de un objeto Array. Para obtener más información, vea Array (Objeto de JScript).