aboutsummaryrefslogtreecommitdiff
path: root/files/it/web/javascript/new_in_javascript
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 21:46:22 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 21:46:22 -0500
commita065e04d529da1d847b5062a12c46d916408bf32 (patch)
treefe0f8bcec1ff39a3c499a2708222dcf15224ff70 /files/it/web/javascript/new_in_javascript
parent218934fa2ed1c702a6d3923d2aa2cc6b43c48684 (diff)
downloadtranslated-content-a065e04d529da1d847b5062a12c46d916408bf32.tar.gz
translated-content-a065e04d529da1d847b5062a12c46d916408bf32.tar.bz2
translated-content-a065e04d529da1d847b5062a12c46d916408bf32.zip
update based on https://github.com/mdn/yari/issues/2028
Diffstat (limited to 'files/it/web/javascript/new_in_javascript')
-rw-r--r--files/it/web/javascript/new_in_javascript/1.8.5/index.html123
-rw-r--r--files/it/web/javascript/new_in_javascript/index.html80
-rw-r--r--files/it/web/javascript/new_in_javascript/novità_in_javascript_1.6/index.html81
-rw-r--r--files/it/web/javascript/new_in_javascript/novità_in_javascript_1.7/index.html79
4 files changed, 0 insertions, 363 deletions
diff --git a/files/it/web/javascript/new_in_javascript/1.8.5/index.html b/files/it/web/javascript/new_in_javascript/1.8.5/index.html
deleted file mode 100644
index 8bc70d9638..0000000000
--- a/files/it/web/javascript/new_in_javascript/1.8.5/index.html
+++ /dev/null
@@ -1,123 +0,0 @@
----
-title: Novità in JavaScript 1.8.5
-slug: Web/JavaScript/New_in_JavaScript/1.8.5
-translation_of: Archive/Web/JavaScript/New_in_JavaScript/1.8.5
----
-<div>{{jsSidebar("New_in_JS")}}</div>
-
-<p>The following is a changelog for JavaScript 1.8.5. This version was included in <a href="/en-US/Firefox/Releases/4">Firefox 4</a>.</p>
-
-<h2 id="Nuove_funzionalità_in_JavaScript_1.8.5">Nuove funzionalità in JavaScript 1.8.5</h2>
-
-<h3 id="Nuove_funzioni">Nuove funzioni</h3>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Funzioni</th>
- <th scope="col">Descrizione</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>{{jsxref("Object.create()")}}</td>
- <td>Crea un nuovo oggetto con l'oggetto prototipo specificato e le proprietà. {{bug("492840")}}</td>
- </tr>
- <tr>
- <td>{{jsxref("Object.defineProperty()")}}</td>
- <td>Aggiunge la proprietà denominata descritta da un determinato descrittore a un oggetto.</td>
- </tr>
- <tr>
- <td>{{jsxref("Object.defineProperties()")}}</td>
- <td>Aggiunge le proprietà nominate descritte dai descrittori dati ad un oggetto.</td>
- </tr>
- <tr>
- <td>{{jsxref("Object.getOwnPropertyDescriptor()")}}</td>
- <td>Restituisce un descrittore di proprietà per una proprietà denominata su un oggetto. {{bug("505587")}}</td>
- </tr>
- <tr>
- <td>{{jsxref("Object.keys()")}}</td>
- <td>Restituisce una matrice di tutte le proprietà enumerabili su un oggetto. {{bug("307791")}}</td>
- </tr>
- <tr>
- <td>{{jsxref("Object.getOwnPropertyNames()")}}</td>
- <td>Restituisce una matrice di tutte le proprietà enumerabili e non enumerabili su un oggetto. {{bug("518663")}}</td>
- </tr>
- <tr>
- <td>{{jsxref("Object.preventExtensions()")}}</td>
- <td>Impedisce qualsiasi estensione di un oggetto. {{bug("492849")}}</td>
- </tr>
- <tr>
- <td>{{jsxref("Object.isExtensible()")}}</td>
- <td>Determina se l'estensione di un oggetto è consentita. {{bug("492849")}}</td>
- </tr>
- <tr>
- <td>{{jsxref("Object.seal()")}}</td>
- <td>Impedisce l'altro codice dall'eliminazione delle proprietà di un oggetto. {{bug("492845")}}</td>
- </tr>
- <tr>
- <td>{{jsxref("Object.isSealed()")}}</td>
- <td>Determina se un oggetto è sigillato. {{bug("492845")}}</td>
- </tr>
- <tr>
- <td>{{jsxref("Object.freeze()")}}</td>
- <td>Blocca un oggetto: l'altro codice non può eliminare o modificare alcuna proprietà. {{bug("492844")}}</td>
- </tr>
- <tr>
- <td>{{jsxref("Object.isFrozen()")}}</td>
- <td>Determina se un oggetto è stato congelato. {{bug("492844")}}</td>
- </tr>
- <tr>
- <td>{{jsxref("Array.isArray()")}}</td>
- <td>Controlla se una variabile è un array. {{bug("510537")}}</td>
- </tr>
- <tr>
- <td>{{jsxref("Date.prototype.toJSON()")}}</td>
- <td>Restituisce una stringa di formato JSON per un oggetto <code>Date</code>.</td>
- </tr>
- <tr>
- <td>{{jsxref("Function.prototype.bind()")}}</td>
- <td>Crea una nuova funzione che, quando chiamata, chiama questa funzione nel contesto fornito (con una determinata sequenza di argomenti) {{bug("429507")}}</td>
- </tr>
- </tbody>
-</table>
-
-<h3 id="Nuove_funzionalità_ECMAScript5">Nuove funzionalità ECMAScript5</h3>
-
-<ul>
- <li>operatore <code><a href="/en-US/docs/Web/JavaScript/Reference/Operators/get" title="JavaScript/Reference/Operators/Special Operators/get Operator">get</a></code> e <code><a href="/en-US/docs/Web/JavaScript/Reference/Operators/set" title="JavaScript/Reference/Operators/Special Operators/set Operator">set</a></code> ora consente all'identificatore di essere numerico o una stringa. {{Bug ( "520696")}}<br>
- . {{bug("520696")}}</li>
- <li>{{jsxref("Function.apply()")}} può accettare qualsiasi oggetto di tipo array come elenco di argomenti, invece di solo true arrays.</li>
- <li><a href="/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope/Strict_mode" title="JavaScript/Strict mode">strict mode support</a></li>
- <li>{{jsxref("Array.toString()")}} ora funziona anche su non-array restituendo il risultato della chiamata al metodo <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join" title="JavaScript/Reference/Global Objects/Array/join"><code>join()</code></a> se disponibile o chiamando il suo metodo <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString" title="JavaScript/Reference/Global Objects/Object/toString"><code>toString()</code></a>.</li>
-</ul>
-
-<h3 id="Altri_lavori_di_standardizzazione">Altri lavori di standardizzazione</h3>
-
-<p>Varie sintassi non standard per la definizione di getter e setter sono state rimosse; La sintassi definita da ECMAScript 5 non è stata modificata. Erano tutti piuttosto esoterici e raramente usati; se questo ti colpisce, vedi questo post sul <a class="external" href="http://whereswalden.com/2010/04/16/more-spidermonkey-changes-ancient-esoteric-very-rarely-used-syntax-for-creating-getters-and-setters-is-being-removed/" title="http://whereswalden.com/2010/04/16/more-spidermonkey-changes-ancient-esoteric-very-rarely-used-syntax-for-creating-getters-and-setters-is-being-removed/">blog</a> per i dettagli.</p>
-
-<h3 id="Nuovi_oggetti">Nuovi oggetti</h3>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Oggetti</th>
- <th scope="col">Descrizione</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><a href="/en-US/docs/Archive/Web/Old_Proxy_API">Old Proxy API</a></td>
- <td>Offre supporto per la creazione di proxy Object e Function che abilitano la meta-programmazione in JavaScript.</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Funzionalità_modificata_in_JavaScript_1.8.5">Funzionalità modificata in JavaScript 1.8.5</h2>
-
-<ul>
- <li>Supporto ISO 8601 in <code>Date</code>: il metodo {{jsxref("Date")}} dell'oggetto <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse" title="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/parse">parse()</a> ora supporta semplici stringhe ISO 8601 format date strings</li>
- <li>Oggetti globali resi di sola lettura: gli oggetti globali <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN" title="JavaScript/Reference/Global Objects/NaN"><code>NaN</code></a>, <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Infinity" title="JavaScript/Reference/Global Objects/Infinity"><code>Infinity</code></a> e <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined" title="JavaScript/Reference/Global Objects/undefined"><code>undefined</code></a> sono in sola lettura, secondo le specifiche ECMAScript 5.</li>
- <li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/Parent" title="JavaScript/Reference/Global Objects/Object/Parent"><code>obj.__parent__</code></a> and <code>obj.__count__</code> become obsolete. Some information about why: <a class="external" href="http://whereswalden.com/2010/05/07/spidermonkey-change-du-jour-the-special-__parent__-property-has-been-removed/" title="http://whereswalden.com/2010/05/07/spidermonkey-change-du-jour-the-special-__parent__-property-has-been-removed/">SpiderMonkey cambia du jour: la proprietà speciale __parent__ property</a> è stata rimossa {{bug("551529")}} &amp; {{bug("552560")}}.</li>
- <li>Le virgole finali non sono più accettate in {{jsxref("JSON.parse()")}}.</li>
-</ul>
diff --git a/files/it/web/javascript/new_in_javascript/index.html b/files/it/web/javascript/new_in_javascript/index.html
deleted file mode 100644
index 98a8e27ddb..0000000000
--- a/files/it/web/javascript/new_in_javascript/index.html
+++ /dev/null
@@ -1,80 +0,0 @@
----
-title: New in JavaScript
-slug: Web/JavaScript/New_in_JavaScript
-tags:
- - NeedsTranslation
- - TopicStub
-translation_of: Archive/Web/JavaScript/New_in_JavaScript
----
-<div>{{jsSidebar("New_in_JS")}}</div>
-
-<p>This chapter contains information about JavaScript's version history and implementation status for Mozilla/SpiderMonkey-based JavaScript applications, such as Firefox.</p>
-
-<h2 id="ECMAScript_versions">ECMAScript versions</h2>
-
-<dl>
- <dt><a href="/en-US/docs/Web/JavaScript/Language_Resources">Language resources</a></dt>
- <dd>Learn more about the ECMAScript standards on which the JavaScript language is based on.</dd>
- <dt><a href="/en-US/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_5_support_in_Mozilla">ECMAScript 5 support</a></dt>
- <dd>Implementation status for the current standard ECMA-262 Edition 5.1 in Mozilla-based engines and products.</dd>
- <dt><a href="/en-US/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_6_support_in_Mozilla">ECMAScript 6 support</a></dt>
- <dd>Implementation status for the draft ECMA-262 Edition 6 in Mozilla-based engines and products.</dd>
- <dt><a href="/en-US/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_7_support_in_Mozilla">ECMAScript 7 support</a></dt>
- <dd>Implementation status for the upcoming ECMA-262 Edition 7 in Mozilla-based engines and products.</dd>
-</dl>
-
-<h2 id="JavaScript_release_notes">JavaScript release notes</h2>
-
-<dl>
- <dt><a href="/en-US/docs/Web/JavaScript/New_in_JavaScript/Firefox_JavaScript_changelog">Firefox JavaScript changelog</a></dt>
- <dd>See this changelog for JavaScript features implemented in Firefox 5 and later.</dd>
- <dt>Chrome JavaScript changelog</dt>
- <dd>(TODO). See this changelog for JavaScript features implemented in Chrome releases.</dd>
-</dl>
-
-<h2 id="JavaScript_versions">JavaScript versions</h2>
-
-<p><strong>Deprecated</strong> ({{deprecated_inline()}}). The explicit versioning and opt-in of language features was Mozilla-specific and <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=867609">is in process of being removed</a>. Firefox 4 was the last version which referred to an JavaScript version (1.8.5). With new ECMA standards, JavaScript language features are now often mentioned with their initial definition in ECMA-262 Editions such as Edition 6 (ES6).</p>
-
-<p>JavaScript was released as version 1.0 in March 1996 in Netscape Navigator 2.0 and Internet Explorer 2.0.</p>
-
-<dl>
- <dt><a href="/en-US/docs/Web/JavaScript/New_in_JavaScript/1.1">JavaScript 1.1</a></dt>
- <dd>Version shipped in Netscape Navigator 3.0. Released on August 19, 1996.</dd>
- <dt><a href="/en-US/docs/Web/JavaScript/New_in_JavaScript/1.2">JavaScript 1.2</a></dt>
- <dd>Version shipped in Netscape Navigator 4.0-4.05. Released on June 11, 1997.</dd>
- <dt><a href="/en-US/docs/Web/JavaScript/New_in_JavaScript/1.3">JavaScript 1.3</a></dt>
- <dd>Version shipped in Netscape Navigator 4.06-4.7x. Released on October 19, 1998.<br>
- Standardization work to be compliant with ECMA-262 1st and 2nd Edition.</dd>
- <dt><a href="/en-US/docs/Web/JavaScript/New_in_JavaScript/1.4">JavaScript 1.4</a></dt>
- <dd>Version shipped in Netscape's server side JavaScript. Released in 1999.</dd>
- <dt><a href="/en-US/docs/Web/JavaScript/New_in_JavaScript/1.5">JavaScript 1.5</a></dt>
- <dd>Version shipped in Netscape Navigator 6.0 and Firefox 1.0. Release on November 14, 2000.<br>
- Standardization work to be compliant with ECMA-262 3rd Edition.</dd>
- <dt><a href="/en-US/docs/Web/JavaScript/New_in_JavaScript/1.6">JavaScript 1.6</a></dt>
- <dd>Version shipped in Firefox 1.5. Released in November 2005.<br>
- Includes ECMAScript for XML (E4X), new <code>Array</code> methods plus <code>String</code> and <code>Array</code> generics.</dd>
- <dt><a href="/en-US/docs/Web/JavaScript/New_in_JavaScript/1.7">JavaScript 1.7</a></dt>
- <dd>Version shipped in Firefox 2. Released in October 2006.<br>
- Includes generators, iterators, array comprehensions, <code>let</code> expressions, and destructuring assignment.</dd>
- <dt><a href="/en-US/docs/Web/JavaScript/New_in_JavaScript/1.8">JavaScript 1.8</a></dt>
- <dd>Version shipped in Firefox 3. Released in June 2008.<br>
- Includes expression closures, generator expressions and <code>Array.reduce()</code></dd>
- <dt><a href="/en-US/docs/Web/JavaScript/New_in_JavaScript/1.8.1">JavaScript 1.8.1</a></dt>
- <dd>Version shipped in Firefox 3.5. Released on <span class="st">June 30, 2009.<br>
- Includes the TraceMonkey JIT and supports native JSON.</span></dd>
- <dt>JavaScript 1.8.2</dt>
- <dd>Version shipped in Firefox 3.6. Released June 22, 2009.<br>
- Includes only minor changes.</dd>
- <dt><a href="/en-US/docs/Web/JavaScript/New_in_JavaScript/1.8.5">JavaScript 1.8.5</a></dt>
- <dd>Version shipped in Firefox 4. Released July 27, 2010.<br>
- Includes many new features for ECMA-262 Edition 5 compliance.<br>
- This is the last JavaScript version.</dd>
-</dl>
-
-<h2 id="Features_still_requiring_version_opt-in">Features still requiring version opt-in</h2>
-
-<dl>
- <dt><a href="/en-US/docs/Web/JavaScript/Reference/Statements/let"><code>let</code> statement</a></dt>
- <dd>The <code>let</code> statement requires the JavaScript version 1.7 (or higher) opt-in. See {{bug(932517)}} and {{bug(932513)}}.</dd>
-</dl>
diff --git a/files/it/web/javascript/new_in_javascript/novità_in_javascript_1.6/index.html b/files/it/web/javascript/new_in_javascript/novità_in_javascript_1.6/index.html
deleted file mode 100644
index 07ac5d386c..0000000000
--- a/files/it/web/javascript/new_in_javascript/novità_in_javascript_1.6/index.html
+++ /dev/null
@@ -1,81 +0,0 @@
----
-title: Novità in JavaScript 1.6
-slug: Web/JavaScript/New_in_JavaScript/Novità_in_JavaScript_1.6
-tags:
- - E4X
- - JavaScript
- - Tutte_le_categorie
-translation_of: Archive/Web/JavaScript/New_in_JavaScript/1.6
----
-<div>{{jsSidebar("New_in_JS")}}</div>
-
-<p>JavaScript 1.6 introduce diverse nuove funzionalità: E4X, vari metodi per gli <code>Array</code> e i metodi generici per gli array e le stringhe.</p>
-
-<p>JavaScript 1.6 è supportato in <a href="it/Firefox_1.5">Firefox 1.5</a> e successivi.</p>
-
-<h3 id="E4X" name="E4X">E4X</h3>
-
-<p>ECMAScript for XML (<a href="it/E4X">E4X</a>) è una potente tecnologia che permette di creare ed elaborare contenuto <a href="it/XML">XML</a> tramite <a href="it/JavaScript">JavaScript</a>. Continueremo a migliorare il supporto a E4X, aggiungendo anche un'integrazione trasparente al <a href="it/DOM">DOM</a> già esistente, ma gli sviluppatori che stanno creando applicazioni web basate su XML possono beneficiare del supporto a E4X in Firefox 1.5.</p>
-
-<p>E' ancora possibile utilizzare il tipo MIME standard per E4X:</p>
-
-<pre>&lt;script type="text/javascript"&gt;
-</pre>
-
-<p>Tuttavia, la sintassi di E4X può entrare in conflitto con la pratica molto comune di inserire gli script nei commenti <a href="it/HTML">HTML</a> (<code><span class="nowiki">&lt;!--...--&gt;</span></code>) per nasconderli ai vecchi browser. E4X può anche entrare in conflitto con le sezioni CDATA (<code>&lt;![CDATA{{ mediawiki.external('...') }}]&gt;</code>), che permettono l'uso di simboli "&lt;" e "&gt;" in uno script (si noti che questo non si applica all'HTML). Se si incontrano errori apparentemente inspiegabili, si provi ad aggiungere "; e4x=1" al tipo MIME:</p>
-
-<pre>&lt;script type="text/javascript; e4x=1"&gt;
-</pre>
-
-<p>Si noti che gli script nelle estensioni trattano sempre i commenti HTML nella maniera corretta. In pratica, "e4x=1" è implicito.</p>
-
-<h3 id="Aggiunte_agli_array" name="Aggiunte_agli_array">Aggiunte agli array</h3>
-
-<p>Vi sono sette nuovi metodi per gli array che possono essere divisi in due categorie, metodi di locazione di un elemento e metodi iterativi. I metodi di locazione sono:</p>
-
-<ul>
- <li><code>indexOf()</code> - restituisce l'indice della prima occorrenza dell'elemento dato.</li>
- <li><code>lastIndexOf|lastIndexOf()</code> - restituisce l'indice dell'ultima occorrenza dell'elemento dato.</li>
-</ul>
-
-<p>I metodi iterativi sono:</p>
-
-<ul>
- <li><code>every()</code> - esegue una funzione per ogni elemento presente nell'array e restituisce <code>true</code> se la funzione restituisce <code>true</code> per tutti gli elementi.</li>
- <li><code>filter()</code> - esegue una funzione per ogni elemento presente nell'array e restituisce un array di tutti gli elementi per i quali la funzione ha restituito <code>true</code>.</li>
- <li><code>forEach()</code> - esegue una funzione per ogni elemento presente nell'array.</li>
- <li><code>map()</code> - esegue una funzione per ogni elemento presente nell'array e restituisce i risultati in un altro array.</li>
- <li><code>some()</code> - esegue una funzione per ogni elemento presente nell'array e restituisce <code>true</code> se la funzione restituisce <code>true</code> per almeno uno degli elementi.</li>
-</ul>
-
-<p>Per ulteriori informazioni, si veda l'articolo (in inglese) di Nicholas C. Zakas: <span class="exlink"><a href="it/Mozilla's_New_Array_Methods_(external)">Mozilla's New Array Methods</a></span>.</p>
-
-<h3 id="Metodi_generici_per_array_e_stringhe" name="Metodi_generici_per_array_e_stringhe">Metodi generici per array e stringhe</h3>
-
-<p>A volte si vorrebbe utilizzare i metodi per gli array con le stringhe. Facendo questo, si tratta una stringa come se fosse un array di caratteri. Per esempio, per controllare che ogni carattere nella variabile <var>str</var> sia una lettera, si potrebbe scrivere:</p>
-
-<pre>function isLetter(character) {
- return (character &gt;= "a" &amp;&amp; character &lt;= "z");
-}
-
-if (Array.prototype.every.call(str, isLetter))
- alert("La stringa '" + str + "' contiene solo lettere!");
-</pre>
-
-<p>Questa notazione è piuttosto lunga e JavaScript 1.6 introduce una scorciatoia:</p>
-
-<pre>if (Array.every(str, isLetter))
- alert("La stringa '" + str + "' contiene solo lettere!");
-</pre>
-
-<p>Similmente, si può facilmente applicare un metodo stringa a qualsiasi oggetto:</p>
-
-<pre>var num = 15;
-alert(String.replace(num, /5/, '2'));
-</pre>
-
-<h3 id="Vedi_anche" name="Vedi_anche">Vedi anche</h3>
-
-<p><a href="it/Novit%c3%a0_in_JavaScript_1.7">Novità in JavaScript 1.7</a> introdotte in <a href="it/Firefox_2">Firefox 2</a>.</p>
-
-<p>{{ languages( { "en": "en/New_in_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", "ru": "ru/\u041d\u043e\u0432\u043e\u0435_\u0432_JavaScript_1.6" } ) }}</p>
diff --git a/files/it/web/javascript/new_in_javascript/novità_in_javascript_1.7/index.html b/files/it/web/javascript/new_in_javascript/novità_in_javascript_1.7/index.html
deleted file mode 100644
index 8b8cb7b5bf..0000000000
--- a/files/it/web/javascript/new_in_javascript/novità_in_javascript_1.7/index.html
+++ /dev/null
@@ -1,79 +0,0 @@
----
-title: Novità in JavaScript 1.7
-slug: Web/JavaScript/New_in_JavaScript/Novità_in_JavaScript_1.7
-tags:
- - JavaScript
- - Tutte_le_categorie
-translation_of: Archive/Web/JavaScript/New_in_JavaScript/1.7
----
-<p>{{jsSidebar("New_in_JS")}}JavaScript 1.7 è un aggiornamento del linguaggio che include diverse nuove funzionalità, in particolare i generatori, gli iteratori, novità per gli array, le espressioni <code>let</code> e l'assegnazione destrutturante. Inoltre include tutte le funzionalità di <a href="it/Novit%c3%a0_in_JavaScript_1.6">JavaScript 1.6</a>.</p>
-
-<p>Il supporto a JavaScript 1.7 è disponibile a partire da <a href="it/Firefox_2">Firefox 2</a> Beta 1.</p>
-
-<p>Gli esempi di codice riportati in questo articolo possono essere sperimentati con la shell di JavaScript. Si veda <a href="it/Introduzione_alla_shell_di_JavaScript">Introduzione alla shell di JavaScript</a>.</p>
-
-<h2 id="Usare_JavaScript_1.7" name="Usare_JavaScript_1.7">Usare JavaScript 1.7</h2>
-
-<p>Per poter usare alcune delle nuove funzionalità, occorre specificare che si intende usare JavaScript 1.7. Nel codice HTML o XUL, si inserisca:</p>
-
-<pre class="eval"> &lt;script type="application/javascript;version=1.7"/&gt;
-</pre>
-
-<p>Quando si utilizza la shell di JavaScript, occorre impostare la versione di JavaScript che si intende usare tramite la funzione <code>version()</code>:</p>
-
-<pre class="eval"> version(170);
-</pre>
-
-<p>Per usare le funzionalità che richiedono l'uso delle nuove parole chiave <code>yield</code> e <code>let</code> bisogna specificare che si sta usando la versione 1.7 perchè il codice scritto per le vecchie versioni potrebbe utilizzare quelle parole come nome di variabile o come nome di funzione. Le funzionalità che non richiedono l'utilizzo di nuove parole chiave (funzionalità riguardanti gli array e l'assegnamento destrutturante) possono essere usate senza specificare la versione di JavaScript.</p>
-
-<h2 id="Generatori_e_iteratori" name="Generatori_e_iteratori">Generatori e iteratori</h2>
-
-<p>Quando si sviluppa del codice che comprende un algoritmo iterativo (come l'iterazione su una lista o calcoli che si ripetono su un insieme di dati), vi sono spesso variabili di stato i cui valori devono essere mantenuti per tutta la durata del ciclo. Tradizionalmente, si utilizza una funzione di callback per ottenere i valori intermedi di un algoritmo iterativo.</p>
-
-<h3 id="Generatori" name="Generatori">Generatori</h3>
-
-<p>Si consideri il programma che calcola i numeri di Fibonacci:</p>
-
-<pre>function do_callback(num) {
- document.write(num + "&lt;BR&gt;\n");
-}
-
-function fib() {
- var i = 0, j = 1, n = 0;
- while (n &lt; 10) {
- do_callback(i);
- var t = i;
- i = j;
- j += t;
- n++;
- }
-}
-
-fib();
-</pre>
-
-<p>Questo codice utilizza una routine di callback per effettuare operazioni ad ogni passo dell'iterazione. In questo caso, ogni numero di Fibonacci è semplicemente scritto sulla console.</p>
-
-<p>I generatori e gli iteratori lavorano insieme per fornire un metodo nuovo e migliore per fare questo. Vediamo come scrivere la stessa routine utilizzando un generatore:</p>
-
-<pre>function fib() {
- var i = 0, j = 1;
- while (true) {
- yield i;
- var t = i;
- i = j;
- j += t;
- }
-}
-
-var g = fib();
-for (var i = 0; i &lt; 10; i++) {
- document.write(g.next() + "&lt;BR&gt;\n");
-}
-</pre>
-
-<p>La funzione contenente la parola chiave <code>yield</code> è un generatore. Quando viene chiamata i suoi parametri formali sono legati agli argomenti attuali, ma il corpo non viene realmente eseguito. Invece, viene restituito un generatore-iteratore. Ogni chiamata al metodo <code>next()</code> del generatore-iteratore effettua un nuovo ciclo. Il valore di ogni ciclo è il valore specificato dalla parola chiave <code>yield</code>. Si può pensare a <code>yield</code> come alla versione per generatori-iteratori di <code>yield</code>. Ogni volta che si chiama <code>next()</code>, il codice del generatore riprende dall'istruzione che segue la parola chiave <code>yield</code>.</p>
-
-<p>Il ciclo di un generatore-iteratore si esegue quindi chiamando ripetutamente il suo metodo <code>next()</code>, associandolo alla condizione desiderata. In questo esempio, possiamo ottenere tutti i numeri di Fibonacci che vogliamo chiamando <code>g.next()</code> fino a quando abbiamo il numero di risultati che desideriamo.</p>
-
-<p>{{ languages( { "es": "es/New_in_JavaScript_1.7", "es": "es/Novedades_en_JavaScript_1.7", "fr": "fr/Nouveaut\u00e9s_dans_JavaScript_1.7", "ja": "ja/New_in_JavaScript_1.7", "pl": "pl/Nowo\u015bci_w_JavaScript_1.7" } ) }}</p>