From da78a9e329e272dedb2400b79a3bdeebff387d47 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:17 -0500 Subject: initial commit --- .../javascript/new_in_javascript/1.8.5/index.html | 123 +++++++++++++++++++++ .../it/web/javascript/new_in_javascript/index.html | 80 ++++++++++++++ .../novit\303\240_in_javascript_1.6/index.html" | 81 ++++++++++++++ .../novit\303\240_in_javascript_1.7/index.html" | 79 +++++++++++++ 4 files changed, 363 insertions(+) create mode 100644 files/it/web/javascript/new_in_javascript/1.8.5/index.html create mode 100644 files/it/web/javascript/new_in_javascript/index.html create mode 100644 "files/it/web/javascript/new_in_javascript/novit\303\240_in_javascript_1.6/index.html" create mode 100644 "files/it/web/javascript/new_in_javascript/novit\303\240_in_javascript_1.7/index.html" (limited to 'files/it/web/javascript/new_in_javascript') 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 new file mode 100644 index 0000000000..8bc70d9638 --- /dev/null +++ b/files/it/web/javascript/new_in_javascript/1.8.5/index.html @@ -0,0 +1,123 @@ +--- +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 +--- +
{{jsSidebar("New_in_JS")}}
+ +

The following is a changelog for JavaScript 1.8.5. This version was included in Firefox 4.

+ +

Nuove funzionalità in JavaScript 1.8.5

+ +

Nuove funzioni

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FunzioniDescrizione
{{jsxref("Object.create()")}}Crea un nuovo oggetto con l'oggetto prototipo specificato e le proprietà. {{bug("492840")}}
{{jsxref("Object.defineProperty()")}}Aggiunge la proprietà denominata descritta da un determinato descrittore a un oggetto.
{{jsxref("Object.defineProperties()")}}Aggiunge le proprietà nominate descritte dai descrittori dati ad un oggetto.
{{jsxref("Object.getOwnPropertyDescriptor()")}}Restituisce un descrittore di proprietà per una proprietà denominata su un oggetto. {{bug("505587")}}
{{jsxref("Object.keys()")}}Restituisce una matrice di tutte le proprietà enumerabili su un oggetto. {{bug("307791")}}
{{jsxref("Object.getOwnPropertyNames()")}}Restituisce una matrice di tutte le proprietà enumerabili e non enumerabili su un oggetto. {{bug("518663")}}
{{jsxref("Object.preventExtensions()")}}Impedisce qualsiasi estensione di un oggetto. {{bug("492849")}}
{{jsxref("Object.isExtensible()")}}Determina se l'estensione di un oggetto è consentita. {{bug("492849")}}
{{jsxref("Object.seal()")}}Impedisce l'altro codice dall'eliminazione delle proprietà di un oggetto. {{bug("492845")}}
{{jsxref("Object.isSealed()")}}Determina se un oggetto è sigillato. {{bug("492845")}}
{{jsxref("Object.freeze()")}}Blocca un oggetto: l'altro codice non può eliminare o modificare alcuna proprietà. {{bug("492844")}}
{{jsxref("Object.isFrozen()")}}Determina se un oggetto è stato congelato. {{bug("492844")}}
{{jsxref("Array.isArray()")}}Controlla se una variabile è un array. {{bug("510537")}}
{{jsxref("Date.prototype.toJSON()")}}Restituisce una stringa di formato JSON per un oggetto Date.
{{jsxref("Function.prototype.bind()")}}Crea una nuova funzione che, quando chiamata, chiama questa funzione nel contesto fornito (con una determinata sequenza di argomenti) {{bug("429507")}}
+ +

Nuove funzionalità ECMAScript5

+ + + +

Altri lavori di standardizzazione

+ +

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 blog per i dettagli.

+ +

Nuovi oggetti

+ + + + + + + + + + + + + + +
OggettiDescrizione
Old Proxy APIOffre supporto per la creazione di proxy Object e Function che abilitano la meta-programmazione in JavaScript.
+ +

Funzionalità modificata in JavaScript 1.8.5

+ + diff --git a/files/it/web/javascript/new_in_javascript/index.html b/files/it/web/javascript/new_in_javascript/index.html new file mode 100644 index 0000000000..98a8e27ddb --- /dev/null +++ b/files/it/web/javascript/new_in_javascript/index.html @@ -0,0 +1,80 @@ +--- +title: New in JavaScript +slug: Web/JavaScript/New_in_JavaScript +tags: + - NeedsTranslation + - TopicStub +translation_of: Archive/Web/JavaScript/New_in_JavaScript +--- +
{{jsSidebar("New_in_JS")}}
+ +

This chapter contains information about JavaScript's version history and implementation status for Mozilla/SpiderMonkey-based JavaScript applications, such as Firefox.

+ +

ECMAScript versions

+ +
+
Language resources
+
Learn more about the ECMAScript standards on which the JavaScript language is based on.
+
ECMAScript 5 support
+
Implementation status for the current standard ECMA-262 Edition 5.1 in Mozilla-based engines and products.
+
ECMAScript 6 support
+
Implementation status for the draft ECMA-262 Edition 6 in Mozilla-based engines and products.
+
ECMAScript 7 support
+
Implementation status for the upcoming ECMA-262 Edition 7 in Mozilla-based engines and products.
+
+ +

JavaScript release notes

+ +
+
Firefox JavaScript changelog
+
See this changelog for JavaScript features implemented in Firefox 5 and later.
+
Chrome JavaScript changelog
+
(TODO). See this changelog for JavaScript features implemented in Chrome releases.
+
+ +

JavaScript versions

+ +

Deprecated ({{deprecated_inline()}}). The explicit versioning and opt-in of language features was Mozilla-specific and is in process of being removed. 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).

+ +

JavaScript was released as version 1.0 in March 1996 in Netscape Navigator 2.0 and Internet Explorer 2.0.

+ +
+
JavaScript 1.1
+
Version shipped in Netscape Navigator 3.0. Released on August 19, 1996.
+
JavaScript 1.2
+
Version shipped in Netscape Navigator 4.0-4.05. Released on June 11, 1997.
+
JavaScript 1.3
+
Version shipped in Netscape Navigator 4.06-4.7x. Released on October 19, 1998.
+ Standardization work to be compliant with ECMA-262 1st and 2nd Edition.
+
JavaScript 1.4
+
Version shipped in Netscape's server side JavaScript. Released in 1999.
+
JavaScript 1.5
+
Version shipped in Netscape Navigator 6.0 and Firefox 1.0. Release on November 14, 2000.
+ Standardization work to be compliant with ECMA-262 3rd Edition.
+
JavaScript 1.6
+
Version shipped in Firefox 1.5. Released in November 2005.
+ Includes ECMAScript for XML (E4X), new Array methods plus String and Array generics.
+
JavaScript 1.7
+
Version shipped in Firefox 2. Released in October 2006.
+ Includes generators, iterators, array comprehensions, let expressions, and destructuring assignment.
+
JavaScript 1.8
+
Version shipped in Firefox 3. Released in June 2008.
+ Includes expression closures, generator expressions and Array.reduce()
+
JavaScript 1.8.1
+
Version shipped in Firefox 3.5. Released on June 30, 2009.
+ Includes the TraceMonkey JIT and supports native JSON.
+
JavaScript 1.8.2
+
Version shipped in Firefox 3.6. Released June 22, 2009.
+ Includes only minor changes.
+
JavaScript 1.8.5
+
Version shipped in Firefox 4. Released July 27, 2010.
+ Includes many new features for ECMA-262 Edition 5 compliance.
+ This is the last JavaScript version.
+
+ +

Features still requiring version opt-in

+ +
+
let statement
+
The let statement requires the JavaScript version 1.7 (or higher) opt-in. See {{bug(932517)}} and {{bug(932513)}}.
+
diff --git "a/files/it/web/javascript/new_in_javascript/novit\303\240_in_javascript_1.6/index.html" "b/files/it/web/javascript/new_in_javascript/novit\303\240_in_javascript_1.6/index.html" new file mode 100644 index 0000000000..07ac5d386c --- /dev/null +++ "b/files/it/web/javascript/new_in_javascript/novit\303\240_in_javascript_1.6/index.html" @@ -0,0 +1,81 @@ +--- +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 +--- +
{{jsSidebar("New_in_JS")}}
+ +

JavaScript 1.6 introduce diverse nuove funzionalità: E4X, vari metodi per gli Array e i metodi generici per gli array e le stringhe.

+ +

JavaScript 1.6 è supportato in Firefox 1.5 e successivi.

+ +

E4X

+ +

ECMAScript for XML (E4X) è una potente tecnologia che permette di creare ed elaborare contenuto XML tramite JavaScript. Continueremo a migliorare il supporto a E4X, aggiungendo anche un'integrazione trasparente al DOM già esistente, ma gli sviluppatori che stanno creando applicazioni web basate su XML possono beneficiare del supporto a E4X in Firefox 1.5.

+ +

E' ancora possibile utilizzare il tipo MIME standard per E4X:

+ +
<script type="text/javascript">
+
+ +

Tuttavia, la sintassi di E4X può entrare in conflitto con la pratica molto comune di inserire gli script nei commenti HTML (<!--...-->) per nasconderli ai vecchi browser. E4X può anche entrare in conflitto con le sezioni CDATA (<![CDATA{{ mediawiki.external('...') }}]>), che permettono l'uso di simboli "<" e ">" 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:

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

Si noti che gli script nelle estensioni trattano sempre i commenti HTML nella maniera corretta. In pratica, "e4x=1" è implicito.

+ +

Aggiunte agli array

+ +

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:

+ + + +

I metodi iterativi sono:

+ + + +

Per ulteriori informazioni, si veda l'articolo (in inglese) di Nicholas C. Zakas: Mozilla's New Array Methods.

+ +

Metodi generici per array e stringhe

+ +

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 str sia una lettera, si potrebbe scrivere:

+ +
function isLetter(character) {
+  return (character >= "a" && character <= "z");
+}
+
+if (Array.prototype.every.call(str, isLetter))
+  alert("La stringa '" + str + "' contiene solo lettere!");
+
+ +

Questa notazione è piuttosto lunga e JavaScript 1.6 introduce una scorciatoia:

+ +
if (Array.every(str, isLetter))
+  alert("La stringa '" + str + "' contiene solo lettere!");
+
+ +

Similmente, si può facilmente applicare un metodo stringa a qualsiasi oggetto:

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

Vedi anche

+ +

Novità in JavaScript 1.7 introdotte in Firefox 2.

+ +

{{ 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" } ) }}

diff --git "a/files/it/web/javascript/new_in_javascript/novit\303\240_in_javascript_1.7/index.html" "b/files/it/web/javascript/new_in_javascript/novit\303\240_in_javascript_1.7/index.html" new file mode 100644 index 0000000000..8b8cb7b5bf --- /dev/null +++ "b/files/it/web/javascript/new_in_javascript/novit\303\240_in_javascript_1.7/index.html" @@ -0,0 +1,79 @@ +--- +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 +--- +

{{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 let e l'assegnazione destrutturante. Inoltre include tutte le funzionalità di JavaScript 1.6.

+ +

Il supporto a JavaScript 1.7 è disponibile a partire da Firefox 2 Beta 1.

+ +

Gli esempi di codice riportati in questo articolo possono essere sperimentati con la shell di JavaScript. Si veda Introduzione alla shell di JavaScript.

+ +

Usare JavaScript 1.7

+ +

Per poter usare alcune delle nuove funzionalità, occorre specificare che si intende usare JavaScript 1.7. Nel codice HTML o XUL, si inserisca:

+ +
 <script type="application/javascript;version=1.7"/>
+
+ +

Quando si utilizza la shell di JavaScript, occorre impostare la versione di JavaScript che si intende usare tramite la funzione version():

+ +
 version(170);
+
+ +

Per usare le funzionalità che richiedono l'uso delle nuove parole chiave yield e let 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.

+ +

Generatori e iteratori

+ +

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.

+ +

Generatori

+ +

Si consideri il programma che calcola i numeri di Fibonacci:

+ +
function do_callback(num) {
+  document.write(num + "<BR>\n");
+}
+
+function fib() {
+  var i = 0, j = 1, n = 0;
+  while (n < 10) {
+    do_callback(i);
+    var t = i;
+    i = j;
+    j += t;
+    n++;
+  }
+}
+
+fib();
+
+ +

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.

+ +

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:

+ +
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 < 10; i++) {
+  document.write(g.next() + "<BR>\n");
+}
+
+ +

La funzione contenente la parola chiave yield è 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 next() del generatore-iteratore effettua un nuovo ciclo. Il valore di ogni ciclo è il valore specificato dalla parola chiave yield. Si può pensare a yield come alla versione per generatori-iteratori di yield. Ogni volta che si chiama next(), il codice del generatore riprende dall'istruzione che segue la parola chiave yield.

+ +

Il ciclo di un generatore-iteratore si esegue quindi chiamando ripetutamente il suo metodo next(), associandolo alla condizione desiderata. In questo esempio, possiamo ottenere tutti i numeri di Fibonacci che vogliamo chiamando g.next() fino a quando abbiamo il numero di risultati che desideriamo.

+ +

{{ 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" } ) }}

-- cgit v1.2.3-54-g00ecf