Novedades en JavaScript 1.6

JavaScript 1.6 introduce algunas nuevas características: E4X, algunos métodos nuevos Array y Arreglos y Cadenas genéricos.

JavaScript 1.6 es soportado en Firefox 1.5 y posteriores.

E4X

ECMAScript para XML (E4X) es una poderosa tecnología para creción y procesamiento de contenido XML dentro de JavaScript. Continuamos mejorando nuestro soporte en E4X , incluyendo adiciones transparentes de integración con el existente DOM, pero desarrolladores quienes estan construyendo aplicaciones Web basadas en XML pueden beneficiarse con el soporte de E4X en Firefox 1.5.

Puede seguirse utilizando el estandar de tipo MIME cuando utiliza E4X:

<script type="text/javascript">

Sin embargo, la sintaxis de E4X puede entrar en conflicto con la práctica común de poner scripts dentro de comentarios HTML (<!--...-->) para esconderlos de los navegadores antiguos. E4X puede también entrar en conflicto con la práctica más moderna de poner scripts dentro de las secciones XML CDATA (<![CDATA[...]]>) para permitir que los símbolos "<" y ">" en el script (nótese que esto no se aplica a HTML). Si visualiza errores de sintaxis inexplicables, añada "; e4x=1" al tipo MIME:

<script type="text/javascript; e4x=1">

Nótese que los scripts en extensiones siempre tratan los comentarios HTML como literales E4X. Esto es, el "e4x=1" está implícito.

Extras de Arreglos

Existen siete nuevos métodos de Array que pueden ser separados en dos categorías, métodos de localización de items y métodos iterativos. Los métodos de localización de items son:

  • indexOf() - retorna el índice de la primera ocurrencia del item.
  • lastIndexOf() - retorna el índice de la última ocurrencia del item dado.

Los métodos iterativos son:

  • every() - corre una función en cada item en un arreglo y retorna verdadero si la función retorna verdadero en todos los items.
  • filter() - corre una función en cada item en un arreglo y retorna un arreglo con todos los items para los cuales la función retorna verdadero.
  • forEach() - corre una función en cada item en un arreglo.
  • map() - corre una función en cada item del arreglo y retorna los resultados en un arreglo.
  • some() - corre una función en cada item de un arreglo y retorna verdadero si la cunción retorna verdadero para cualquier item.

Para más información, véase el artículo de Nicholas C. Zakas, Nuevos métodos de arreglos de Mozilla.

Arreglos y cadenas genéricos

Algunas veces le gustaría aplicar métodos de arreglos a las cadenas. Para hacer esto, trate a una cadena como un arreglo de caracteres. Por ejemplo, para chequear que cada caracter en la variable <var>cadena</var> es una letra, podría escribir:

function esLetra(caracter) {
  return (caracter >= "a" && caracter <= "z");
}

if (Array.prototype.every.call(cadena, esLetra))
  alert("La cadena '" + cadena + "' contiene solo letras!");

Esta notación es demasiado extensa y JavaScript 1.6 introduce un atajo genérico [generic shorthand]:

if (Array.every(cadena, isLetter))
  alert("La cadena '" + cadena + "' contiene sólo letras!");

Similarmente puede fácilmene aplicar métodos de String a cualquier objeto:

var número = 15;
alert(String.replace(número, /5/, '2'));

Véase también

Nuevas características de JavaScript 1.7 introducidas en Firefox 2.


Etiquetas y colaboradores del documento

Colaboradores de esta página: Sheppy, Mgjbot
Última actualización por: Mgjbot,