No JavaScript, uma matriz é um objeto especial cuja propriedade é chamada de número inteiro positivo e sua propriedade de comprimento mudará à medida que os membros da matriz aumentam ou diminuem. Ao mesmo tempo, alguns métodos usados para executar operações de matriz são herdados do construtor da matriz. Para um objeto comum, se todos os seus nomes de propriedades forem números inteiros positivos e tiverem atributos de comprimento correspondentes, embora o objeto não seja criado pelo construtor da matriz, ele ainda apresenta o comportamento de uma matriz. Nesse caso, esses objetos são chamados de "objetos da classe de matriz". Aqui está um objeto simples de matriz de classe:
A cópia do código é a seguinte:
var o = {0:42, 1:52, 2:63, comprimento: 3}
console.log (O);
Ao contrário dos objetos comuns, os objetos da matriz de classe têm um recurso: os métodos de operação de matrizes podem ser aplicados nos objetos da matriz de classe. Por exemplo, no padrão ECMAScript 5, o objeto acima pode ser mesclado em uma string usando os seguintes métodos:
A cópia do código é a seguinte:
console.log (array.prototype.join.call (o)); // "42,52,63"
Você também pode usar o método slice () para obter subarrays nos objetos da matriz de classe:
A cópia do código é a seguinte:
console.log (array.prototype.slice.call (o, 1, 2)); // [52]
No ambiente do navegador, a instrução document.getElementsByTagName () retorna um objeto de matriz da classe. Nas chamadas de função, a variável de argumentos (salva os parâmetros passados) no código da função também é um objeto de matriz da classe.
No padrão ECMAScript 5, a string string é um objeto de matriz de classe somente leitura:
A cópia do código é a seguinte:
var s = "History";
console.log (s [3]); // t
console.log (array.prototype.join.call (s, "")); // h istory