Novedades en JavaScript 1.6

  • Enlace amigable (slug) de la revisión: Novedades_en_JavaScript_1.6
  • Título de la revisión: Novedades en JavaScript 1.6
  • Id de la revisión: 162104
  • Creada:
  • Creador: Sheppy
  • ¿Es la revisión actual? No
  • Comentario /* Novedades en JavaScript 1.6 */

Contenido de la revisión

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{{mediawiki.external('...')}}]>) 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 str es una letra, podría escribir:

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

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

Esta notación is rather wasteful and JavaScript 1.6 introduces a generic shorthand:

if (Array.every(str, isLetter))
  alert("The string '" + str + "' contains only letters!");

Similarly you can easily apply String methods to any object:

var num = 15;
alert(String.replace(num, /5/, '2'));

See also

New features of JavaScript 1.7 introduced in Firefox 2.

{{ wiki.languages( { "ru": "ru/\u041d\u043e\u0432\u043e\u0435_\u0432_JavaScript_1.6", "fr": "fr/Nouveaut\u00e9s_dans_JavaScript_1.6", "ja": "ja/New_in_JavaScript_1.6", "pl": "pl/Nowo\u015bci_w_JavaScript_1.6" } ) }}

Fuente de la revisión

<p>
</p><p>JavaScript 1.6 introduce algunas nuevas características: E4X, algunos métodos nuevos <code>Array</code>  y Arreglos y Cadenas genéricos.
</p><p>JavaScript 1.6 es soportado en <a href="es/Firefox_1.5">Firefox 1.5</a> y posteriores.
</p>
<h3 name="E4X"> E4X </h3>
<p>ECMAScript para XML (<a href="es/E4X">E4X</a>) es una poderosa tecnología para creción y procesamiento de contenido <a href="es/XML">XML</a> dentro de <a href="es/JavaScript">JavaScript</a>.  Continuamos mejorando nuestro soporte en E4X , incluyendo adiciones transparentes de integración con el existente <a href="es/DOM">DOM</a>, pero desarrolladores quienes estan construyendo aplicaciones Web basadas en XML pueden beneficiarse con el soporte de E4X en Firefox 1.5.
</p><p>Puede seguirse utilizando el estandar de tipo MIME cuando utiliza E4X:
</p>
<pre>&lt;script type="text/javascript"&gt;
</pre>
<p>Sin embargo, la sintaxis de E4X puede entrar en conflicto con la práctica común de poner scripts dentro de comentarios HTML (<code><span class="plain">&lt;!--...--&gt;</span></code>) 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 (<code>&lt;![CDATA{{mediawiki.external('...')}}]&gt;</code>) para permitir que los símbolos "&lt;" y "&gt;" 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:
</p>
<pre>&lt;script type="text/javascript; e4x=1"&gt;
</pre>
<p>Nótese que los scripts en extensiones siempre tratan los comentarios HTML como literales E4X. Esto es, el "e4x=1" está implícito.
</p>
<h3 name="Extras_de_Arreglos"> Extras de Arreglos </h3>
<p>Existen siete nuevos métodos de <code><a href="es/Core_JavaScript_1.5_Reference/Objects/Array">Array</a></code> 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:
</p>
<ul><li> <code><a href="es/Core_JavaScript_1.5_Reference/Objects/Array/indexOf">indexOf()</a></code> - retorna el índice de la primera ocurrencia del item.
</li><li> <code><a href="es/Core_JavaScript_1.5_Reference/Objects/Array/lastIndexOf">lastIndexOf()</a></code> - retorna el índice de la última ocurrencia del item dado.
</li></ul>
<p>Los métodos iterativos son:
</p>
<ul><li> <code><a href="es/Core_JavaScript_1.5_Reference/Objects/Array/every">every()</a></code> - corre una función en cada item en un arreglo y retorna verdadero si la función retorna verdadero en todos los items.
</li><li> <code><a href="es/Core_JavaScript_1.5_Reference/Objects/Array/filter">filter()</a></code> - 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.
</li><li> <code><a href="es/Core_JavaScript_1.5_Reference/Objects/Array/forEach">forEach()</a></code> - corre una función en cada item en un arreglo.
</li><li> <code><a href="es/Core_JavaScript_1.5_Reference/Objects/Array/map">map()</a></code> - corre una función en cada item del arreglo y retorna los resultados en un arreglo.
</li><li> <code><a href="es/Core_JavaScript_1.5_Reference/Objects/Array/some">some()</a></code> - corre una función  en cada item de un arreglo y retorna verdadero si la cunción retorna verdadero para cualquier item.
</li></ul>
<p>Para más información, véase el artículo de Nicholas C. Zakas, <span class="exlink"><a href="es/Mozilla's_New_Array_Methods_(external)">Nuevos métodos de arreglos de Mozilla</a></span>.
</p>
<h3 name="Arreglos_y_cadenas_gen.C3.A9ricos"> Arreglos y cadenas genéricos </h3>
<p>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>str</var> es una letra, podría escribir:
</p>
<pre>function esLetra(caracter) {
  return (caracter &gt;= "a" &amp;&amp; caracter &lt;= "z");
}

if (Array.prototype.every.call(str, esLetra))
  alert("La cadena '" + str + "' contiene solo letras!");
</pre>
<p>Esta notación is rather wasteful and JavaScript 1.6 introduces a generic shorthand:
</p>
<pre>if (Array.every(str, isLetter))
  alert("The string '" + str + "' contains only letters!");
</pre>
<p>Similarly you can easily apply String methods to any object:
</p>
<pre>var num = 15;
alert(String.replace(num, /5/, '2'));
</pre>
<h3 name="See_also"> See also </h3>
<p>New features of <a href="es/New_in_JavaScript_1.7">JavaScript 1.7</a> introduced in <a href="es/Firefox_2">Firefox 2</a>.
</p>{{ wiki.languages( { "ru": "ru/\u041d\u043e\u0432\u043e\u0435_\u0432_JavaScript_1.6", "fr": "fr/Nouveaut\u00e9s_dans_JavaScript_1.6", "ja": "ja/New_in_JavaScript_1.6", "pl": "pl/Nowo\u015bci_w_JavaScript_1.6" } ) }}
Revertir a esta revisión