1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
---
title: Novedades en JavaScript 1.6
slug: Web/JavaScript/Novedades_en_JavaScript/1.6
tags:
- E4X
- JavaScript
- Todas_las_Categorías
translation_of: Archive/Web/JavaScript/New_in_JavaScript/1.6
---
<div>{{jsSidebar("New_in_JS")}}</div>
<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 id="E4X" 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><script type="text/javascript">
</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="nowiki"><!--...--></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><![CDATA{{ mediawiki.external('...') }}]></code>) 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:</p>
<pre><script type="text/javascript; e4x=1">
</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 id="Extras_de_Arreglos" 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 función retorna verdadero para cualquier item.</li>
</ul>
<h3 id="Arreglos_y_cadenas_gen.C3.A9ricos" 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>cadena</var> es una letra, podría escribir:</p>
<pre>function esLetra(caracter) {
return (caracter >= "a" && caracter <= "z");
}
if (Array.prototype.every.call(cadena, esLetra))
alert("La cadena '" + cadena + "' contiene solo letras!");
</pre>
<p>Esta notación es demasiado extensa y JavaScript 1.6 introduce un atajo genérico {{ mediawiki.external('generic shorthand') }}:</p>
<pre>if (Array.every(cadena, isLetter))
alert("La cadena '" + cadena + "' contiene sólo letras!");
</pre>
<p>Similarmente puede fácilmene aplicar métodos de String a cualquier objeto:</p>
<pre>var número = 15;
alert(String.replace(número, /5/, '2'));
</pre>
<h3 id="V.C3.A9ase_tambi.C3.A9n" name="V.C3.A9ase_tambi.C3.A9n">Véase también</h3>
<p>Nuevas características de <a href="es/Novedades_en_JavaScript_1.7">JavaScript 1.7</a> introducidas en <a href="es/Firefox_2">Firefox 2</a>.</p>
<p> </p>
|