From a065e04d529da1d847b5062a12c46d916408bf32 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 21:46:22 -0500 Subject: update based on https://github.com/mdn/yari/issues/2028 --- .../ecmascript_6_support_in_mozilla/index.html | 153 ----------------- .../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 --------- .../global_objects/function/arity/index.html | 26 --- .../global_objects/object/observe/index.html | 189 --------------------- 7 files changed, 731 deletions(-) delete mode 100644 files/it/web/javascript/ecmascript_6_support_in_mozilla/index.html delete mode 100644 files/it/web/javascript/new_in_javascript/1.8.5/index.html delete mode 100644 files/it/web/javascript/new_in_javascript/index.html delete mode 100644 "files/it/web/javascript/new_in_javascript/novit\303\240_in_javascript_1.6/index.html" delete mode 100644 "files/it/web/javascript/new_in_javascript/novit\303\240_in_javascript_1.7/index.html" delete mode 100644 files/it/web/javascript/reference/global_objects/function/arity/index.html delete mode 100644 files/it/web/javascript/reference/global_objects/object/observe/index.html (limited to 'files/it/web/javascript') diff --git a/files/it/web/javascript/ecmascript_6_support_in_mozilla/index.html b/files/it/web/javascript/ecmascript_6_support_in_mozilla/index.html deleted file mode 100644 index f631744c80..0000000000 --- a/files/it/web/javascript/ecmascript_6_support_in_mozilla/index.html +++ /dev/null @@ -1,153 +0,0 @@ ---- -title: ECMAScript 6 support in Mozilla -slug: Web/JavaScript/ECMAScript_6_support_in_Mozilla -translation_of: Archive/Web/JavaScript/New_in_JavaScript/ECMAScript_2015_support_in_Mozilla ---- -

{{jsSidebar("New_in_JS")}}ECMAScript 2015 è la prossima versione standard, nome in codice "Harmony", "ES.next" o "ECMAScript 6". Specification drafts possono essere trovate sulla wiki ufficiale. Se si volesse lasciare un feedback sullo standard, si prega di farlo su es-discuss.

- -

Caratteristiche attualmente supportate in  Firefox

- -

Sintassi

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CaratteristicaVersioneCommenti
const?not compliant with the current specification: const bindings behave like var instead of let
let?not compliant with the current specification
Destructuring assignmentJS 1.7not compliant with the current specification
for...of statement{{fx_minversion_inline("13")}} 
Iterators e generatori?not compliant with the current specification)
Rest parameters{{fx_minversion_inline("15")}} 
Parametri predefiniti{{fx_minversion_inline("15")}} 
Spread operator of Array{{fx_minversion_inline("16")}} 
- -

Libreria Standard

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CaratteristicaVersioneCommenti
Map{{fx_minversion_inline("13")}}
- Iterable since {{fx_minversion_inline("17")}}
A new type of collections
Set{{fx_minversion_inline("13")}}
- Iterable since {{fx_minversion_inline("17")}}
A new type of collections
WeakMap{{fx_minversion_inline("6")}}
- clear() in {{fx_minversion_inline("20")}}
A new type of collections
Proxy{{fx_minversion_inline("18")}} 
RegExp sticky (y) flag? 
Number.isNaN(){{fx_minversion_inline("16")}} 
Number.isFinite(){{fx_minversion_inline("16")}} 
Number.toInteger(){{fx_minversion_inline("16")}} 
Number.isInteger(){{fx_minversion_inline("16")}} 
String.startsWith(){{fx_minversion_inline("17")}} 
String.endsWith(){{fx_minversion_inline("17")}} 
String.contains(){{fx_minversion_inline("17")}} 
- -

Caratteristiche non ancora supportate

- - - -

Guarda anche

- - 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 ---- -
{{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 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 ---- -
{{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" deleted file mode 100644 index 07ac5d386c..0000000000 --- "a/files/it/web/javascript/new_in_javascript/novit\303\240_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 ---- -
{{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" deleted file mode 100644 index 8b8cb7b5bf..0000000000 --- "a/files/it/web/javascript/new_in_javascript/novit\303\240_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 ---- -

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

diff --git a/files/it/web/javascript/reference/global_objects/function/arity/index.html b/files/it/web/javascript/reference/global_objects/function/arity/index.html deleted file mode 100644 index fec2d9e988..0000000000 --- a/files/it/web/javascript/reference/global_objects/function/arity/index.html +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: Function.arity -slug: Web/JavaScript/Reference/Global_Objects/Function/arity -translation_of: Archive/Web/JavaScript/Function.arity ---- -

{{JSRef}}{{Obsolete_Header}}

- -
-

La proprieta' arity ritornava il numero di parametri richiesta da una funzione. Ad ogni modo non esiste piu' ed e' stata rimpiazzata dalla proprieta' {{JSxRef("Function.prototype.length")}}.

-
- -

Specifiche

- -

Implementato in JavaScript 1.2. Deprecato in JavaScript 1.4.

- -

Compatibilita' Browser

- - - -

{{Compat("javascript.builtins.Function.arity")}}

- -

Guarda anche

- - diff --git a/files/it/web/javascript/reference/global_objects/object/observe/index.html b/files/it/web/javascript/reference/global_objects/object/observe/index.html deleted file mode 100644 index 4307b4e75f..0000000000 --- a/files/it/web/javascript/reference/global_objects/object/observe/index.html +++ /dev/null @@ -1,189 +0,0 @@ ---- -title: Object.observe() -slug: Web/JavaScript/Reference/Global_Objects/Object/observe -translation_of: Archive/Web/JavaScript/Object.observe ---- -
{{JSRef}} {{obsolete_header}}
- -

Sommario

- -

Il metodo Object.observe() è usato per l'osservazione asincrona dei cambiamenti di un oggetto. Esso fornisce uno stream dei cambiamenti nell'ordine in cui si verificano.

- -

Sintassi

- -
Object.observe(obj, callback[, acceptList])
- -

Parametri

- -
-
obj
-
L'oggetto che verrà osservato.
-
callback
-
La funzione richiamata ogni volta che si verificano delle modifiche, con i seguenti argomenti: -
-
changes
-
Un array di oggetti di oggetti che rappresentano una modifica. Le properties di questi oggetti sono: -
    -
  • name: Il nome della property che è stata modificata.
  • -
  • object: L'oggetto modificato dopo che la modifica è avvenuta.
  • -
  • type: Una stringa che indica il tipo di modifica in atto. Può essere valorizzata con "add", "update" o "delete".
  • -
  • oldValue: Solo per i tipi "update" e "delete". Indica il valore prima della modifica.
  • -
-
-
-
-
acceptList
-
La lista dei tipi di modifiche che possono essere osservate su un dato oggetto per un dato callback. Se omesso, sarà usato l'array ["add", "update", "delete", "reconfigure", "setPrototype", "preventExtensions"].
-
- -

Descrizione

- -

La funzione callback è chiamata ogni volta che una modifica viene fatta sull'obj. Ad essa viene passata un'array di tutte le modifiche, nell'ordine in cui si verificano.

- -

Esempi

- -

Esempio: Log di tutti e sei differenti tipi

- -
var obj = {
-  foo: 0,
-  bar: 1
-};
-
-Object.observe(obj, function(changes) {
-  console.log(changes);
-});
-
-obj.baz = 2;
-// [{name: 'baz', object: <obj>, type: 'add'}]
-
-obj.foo = 'hello';
-// [{name: 'foo', object: <obj>, type: 'update', oldValue: 0}]
-
-delete obj.baz;
-// [{name: 'baz', object: <obj>, type: 'delete', oldValue: 2}]
-
-Object.defineProperty(obj, 'foo', {writable: false});
-// [{name: 'foo', object: <obj>, type: 'reconfigure'}]
-
-Object.setPrototypeOf(obj, {});
-// [{name: '__proto__', object: <obj>, type: 'setPrototype', oldValue: <prototype>}]
-
-Object.seal(obj);
-// [
-//   {name: 'foo', object: <obj>, type: 'reconfigure'},
-//   {name: 'bar', object: <obj>, type: 'reconfigure'},
-//   {object: <obj>, type: 'preventExtensions'}
-// ]
-
- -

Esempio: Data Binding

- -
// A user model
-var user = {
-  id: 0,
-  name: 'Brendan Eich',
-  title: 'Mr.'
-};
-
-// Create a greeting for the user
-function updateGreeting() {
-  user.greeting = 'Hello, ' + user.title + ' ' + user.name + '!';
-}
-updateGreeting();
-
-Object.observe(user, function(changes) {
-  changes.forEach(function(change) {
-    // Any time name or title change, update the greeting
-    if (change.name === 'name' || change.name === 'title') {
-      updateGreeting();
-    }
-  });
-});
-
- -

Esempio: Tipo di modifica personalizzata

- -
// A point on a 2D plane
-var point = {x: 0, y: 0, distance: 0};
-
-function setPosition(pt, x, y) {
-  // Performing a custom change
-  Object.getNotifier(pt).performChange('reposition', function() {
-    var oldDistance = pt.distance;
-    pt.x = x;
-    pt.y = y;
-    pt.distance = Math.sqrt(x * x + y * y);
-    return {oldDistance: oldDistance};
-  });
-}
-
-Object.observe(point, function(changes) {
-  console.log('Distance change: ' + (point.distance - changes[0].oldDistance));
-}, ['reposition']);
-
-setPosition(point, 3, 4);
-// Distance change: 5
-
- -

Specifiche

- -

Argomentazione proposta per ECMAScript 7.

- -

Compatibilita browser

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaratteristicaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Supporto base{{CompatChrome("36")}}{{CompatNo}}{{CompatNo}}{{CompatOpera("23")}}{{CompatNo}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
FeatureAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Supporto base{{CompatNo}}{{CompatChrome("36")}}{{CompatNo}}{{CompatNo}}{{CompatOpera("23")}}{{CompatNo}}
-
- -

Vedi anche

- - -- cgit v1.2.3-54-g00ecf