Esercitazione JS

JS CASA JS Introduzione JS Dove si va Uscita JS Dichiarazioni JS Sintassi JS Commenti JS Variabili JS JS Let JS Cost Operatori JS JS aritmetica Assegnazione JS Tipi di dati JS Funzioni JS Oggetti JS Eventi JS Corde JS Metodi di stringa JS Ricerca di stringhe JS Modelli di stringhe JS Numeri JS Metodi numerici JS Matrici JS Metodi array JS Ordinamento matrice JS Iterazione dell'array JS Cost. array JS Date JS Formati data JS Metodi di acquisizione della data JS Metodi di impostazione della data JS JS matematica JS Casuale JS booleani Confronti JS Condizioni JS JS Switch Ciclo JS per JS Loop per In Ciclo JS per di JS Loop mentre JS Break Iterabili JS Insiemi JS Mappe JS Tipo JS Conversione del tipo JS JS bit a bit JS RegExp Errori JS Ambito JS JS sollevamento Modalità rigorosa JS JS questa parola chiave Funzione freccia JS Classi JS JS JSON Debug JS Guida allo stile JS Migliori Pratiche JS Errori di JS Prestazioni JS Parole riservate JS

Versioni JS

Versioni JS JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Edge Storia di JS

Oggetti JS

Definizioni di oggetti Proprietà dell'oggetto Metodi dell'oggetto Visualizzazione di oggetti Accessori per oggetti Costruttori di oggetti Prototipi di oggetti Iterabili di oggetti Insiemi di oggetti Mappe degli oggetti Riferimento all'oggetto

Funzioni JS

Definizioni delle funzioni Parametri di funzione Invocazione di funzione Chiamata di funzione Funzione Applica Chiusure di funzioni

Classi JS

Introduzione alla classe Eredità di classe Classe statica

JS Async

Richiamate JS JS asincrono JS Promesse JS Async/Attendere

JS HTML DOM

DOM Introduzione Metodi DOM Documento DOM Elementi DOM DOM HTML Moduli DOM DOM CSS Animazioni DOM Eventi DOM Ascoltatore di eventi DOM Navigazione DOM Nodi DOM Collezioni DOM Elenchi di nodi DOM

Distinta base del browser JS

Finestra JS Schermo JS Posizione JS Storia di JS Navigatore JS Avviso popup JS JS tempismo Biscotti JS

API Web JS

Introduzione all'API Web API dei moduli Web API Cronologia web API di archiviazione Web API Web Worker API di recupero Web API di geolocalizzazione web

JS AJAX

Introduzione all'Ajax AJAX XMLHttp Richiesta AJAX Risposta dell'AJAX File XML AJAX AJAX PHP AJAX ASP Database AJAX Applicazioni AJAX Esempi AJAX

JS JSON

Introduzione JSON Sintassi JSON JSON contro XML Tipi di dati JSON Analisi JSON JSON Stringify Oggetti JSON Matrici JSON Server JSON JSON PHP JSON HTML JSON JSONP

JS vs jQuery

Selettori jQuery jQuery HTML jQuery CSS jQuery DOM

Grafica JS

Grafica JS Tela JS JS Plotly JS Chart.js Grafico di Google JS JS D3.js

Esempi JS

Esempi JS JS HTML DOM Input HTML JS Oggetti HTML JS Eventi HTML JS Browser JS Editore JS Esercizi JS Quiz J.S Certificato JS

Riferimenti JS

Oggetti JavaScript Oggetti HTML DOM


JavaScript cost

La constparola chiave è stata introdotta in ES6 (2015) .

Le variabili definite con constnon possono essere dichiarate nuovamente.

Le variabili definite con constnon possono essere riassegnate.

Le variabili definite con consthanno Block Scope.

Non può essere riassegnato

Una constvariabile non può essere riassegnata:

Esempio

const PI = 3.141592653589793;
PI = 3.14;      // This will give an error
PI = PI + 10;   // This will also give an error

Deve essere assegnato

Alle variabili JavaScript constdeve essere assegnato un valore quando vengono dichiarate:

Corretta

const PI = 3.14159265359;

Errato

const PI;
PI = 3.14159265359;

Quando usare JavaScript const?

Come regola generale, dichiara sempre una variabile con a constmeno che tu non sappia che il valore cambierà.

Usalo constquando dichiari:

  • Una nuova matrice
  • Un nuovo oggetto
  • Una nuova funzione
  • Una nuova RegExp

Oggetti e array costanti

La parola chiave constè un po' fuorviante.

Non definisce un valore costante. Definisce un riferimento costante a un valore.

Per questo motivo NON puoi:

  • Riassegna un valore costante
  • Riassegna una matrice costante
  • Riassegna un oggetto costante

    Ma tu puoi:

  • Cambia gli elementi dell'array costante
  • Modifica le proprietà dell'oggetto costante

Array costanti

È possibile modificare gli elementi di un array costante:

Esempio

// You can create a constant array:
const cars = ["Saab", "Volvo", "BMW"];

// You can change an element:
cars[0] = "Toyota";

// You can add an element:
cars.push("Audi");

Ma NON puoi riassegnare l'array:

Esempio

const cars = ["Saab", "Volvo", "BMW"];

cars = ["Toyota", "Volvo", "Audi"];    // ERROR

Oggetti costanti

È possibile modificare le proprietà di un oggetto costante:

Esempio

// You can create a const object:
const car = {type:"Fiat", model:"500", color:"white"};

// You can change a property:
car.color = "red";

// You can add a property:
car.owner = "Johnson";

Ma NON puoi riassegnare l'oggetto:

Esempio

const car = {type:"Fiat", model:"500", color:"white"};

car = {type:"Volvo", model:"EX60", color:"red"};    // ERROR

Supporto browser

La constparola chiave non è supportata in Internet Explorer 10 o versioni precedenti.

La tabella seguente definisce le prime versioni del browser con pieno supporto per la constparola chiave:

Chrome 49 IE 11 / Edge Firefox 36 Safari 10 Opera 36
Mar, 2016 Oct, 2013 Feb, 2015 Sep, 2016 Mar, 2016


Ambito di blocco

La dichiarazione di una variabile con constè simile a let quando si tratta di Block Scope .

La x dichiarata nel blocco, in questo esempio, non è la stessa x dichiarata all'esterno del blocco:

Esempio

const x = 10;
// Here x is 10

{
const x = 2;
// Here x is 2
}

// Here x is 10

Puoi saperne di più sull'ambito del blocco nel capitolo Ambito JavaScript .


Ridichiarare

Ridichiarare una varvariabile JavaScript è consentita ovunque in un programma:

Esempio

var x = 2;     // Allowed
var x = 3;     // Allowed
x = 4;         // Allowed

Non è consentito dichiarare nuovamente una variabile varo esistente in , nello stesso ambito:letconst

Esempio

var x = 2;     // Allowed
const x = 2;   // Not allowed

{
let x = 2;     // Allowed
const x = 2;   // Not allowed
}

{
const x = 2;   // Allowed
const x = 2;   // Not allowed
}

Non è consentito riassegnare una constvariabile esistente, nello stesso ambito:

Esempio

const x = 2;     // Allowed
x = 2;           // Not allowed
var x = 2;       // Not allowed
let x = 2;       // Not allowed
const x = 2;     // Not allowed

{
  const x = 2;   // Allowed
  x = 2;         // Not allowed
  var x = 2;     // Not allowed
  let x = 2;     // Not allowed
  const x = 2;   // Not allowed
}

È consentito ridichiarare una variabile con const, in un altro ambito o in un altro blocco:

Esempio

const x = 2;       // Allowed

{
  const x = 3;   // Allowed
}

{
  const x = 4;   // Allowed
}

Costante di sollevamento

Le variabili definite con varvengono sollevate in alto e possono essere inizializzate in qualsiasi momento.

Significato: puoi usare la variabile prima che venga dichiarata:

Esempio

Questo va bene:

carName = "Volvo";
var carName;

Se vuoi saperne di più sul sollevamento, consulta il capitolo JavaScript Hoisting .

Anche le variabili definite con constvengono sollevate in alto, ma non inizializzate.

Significato: l'utilizzo di una constvariabile prima che venga dichiarata risulterà in un ReferenceError:

Esempio

alert (carName);
const carName = "Volvo";