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


Tipi di dati JavaScript

Le variabili JavaScript possono contenere diversi tipi di dati: numeri, stringhe, oggetti e altro:

let length = 16;                               // Number
let lastName = "Johnson";                      // String
let x = {firstName:"John", lastName:"Doe"};    // Object

Il concetto di tipi di dati

Nella programmazione, i tipi di dati sono un concetto importante.

Per poter operare sulle variabili, è importante sapere qualcosa sul tipo.

Senza tipi di dati, un computer non può risolvere in modo sicuro questo:

let x = 16 + "Volvo";

Ha senso aggiungere "Volvo" a sedici? Produrrà un errore o produrrà un risultato?

JavaScript tratterà l'esempio sopra come:

let x = "16" + "Volvo";

Quando si aggiungono un numero e una stringa, JavaScript tratterà il numero come una stringa.

Esempio

let x = 16 + "Volvo";

Esempio

let x = "Volvo" + 16;

JavaScript valuta le espressioni da sinistra a destra. Sequenze diverse possono produrre risultati diversi:

JavaScript:

let x = 16 + 4 + "Volvo";

Risultato:

20Volvo

JavaScript:

let x = "Volvo" + 16 + 4;

Risultato:

Volvo164

Nel primo esempio, JavaScript tratta 16 e 4 come numeri, finché non raggiunge "Volvo".

Nel secondo esempio, poiché il primo operando è una stringa, tutti gli operandi vengono trattati come stringhe.



I tipi JavaScript sono dinamici

JavaScript ha tipi dinamici. Ciò significa che la stessa variabile può essere utilizzata per contenere diversi tipi di dati:

Esempio

let x;           // Now x is undefined
x = 5;           // Now x is a Number
x = "John";      // Now x is a String

Stringhe JavaScript

Una stringa (o una stringa di testo) è una serie di caratteri come "John Doe".

Le stringhe sono scritte tra virgolette. Puoi usare virgolette singole o doppie:

Esempio

let carName1 = "Volvo XC60";   // Using double quotes
let carName2 = 'Volvo XC60';   // Using single quotes

Puoi usare le virgolette all'interno di una stringa, purché non corrispondano alle virgolette che circondano la stringa:

Esempio

let answer1 = "It's alright";             // Single quote inside double quotes
let answer2 = "He is called 'Johnny'";    // Single quotes inside double quotes
let answer3 = 'He is called "Johnny"';    // Double quotes inside single quotes

Imparerai di più sulle stringhe più avanti in questo tutorial.


Numeri JavaScript

JavaScript ha un solo tipo di numeri.

I numeri possono essere scritti con o senza decimali:

Esempio

let x1 = 34.00;     // Written with decimals
let x2 = 34;        // Written without decimals

Numeri extra grandi o extra piccoli possono essere scritti con notazione scientifica (esponenziale):

Esempio

let y = 123e5;      // 12300000
let z = 123e-5;     // 0.00123

Imparerai di più sui numeri più avanti in questo tutorial.


JavaScript booleani

I booleani possono avere solo due valori: trueo false.

Esempio

let x = 5;
let y = 5;
let z = 6;
(x == y)       // Returns true
(x == z)       // Returns false

I booleani sono spesso usati nei test condizionali.

Imparerai di più sui test condizionali più avanti in questo tutorial.


Matrici JavaScript

Gli array JavaScript sono scritti tra parentesi quadre.

Gli elementi dell'array sono separati da virgole.

Il codice seguente dichiara (crea) un array chiamato cars, contenente tre elementi (nomi di auto):

Esempio

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

Gli indici di matrice sono a base zero, il che significa che il primo elemento è [0], il secondo è [1] e così via.

Imparerai di più sugli array più avanti in questo tutorial.


Oggetti JavaScript

Gli oggetti JavaScript sono scritti con parentesi graffe {}.

Le proprietà dell'oggetto sono scritte come coppie nome:valore, separate da virgole.

Esempio

const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};

L'oggetto (persona) nell'esempio sopra ha 4 proprietà: firstName, lastName, age e eyeColor.

Imparerai di più sugli oggetti più avanti in questo tutorial.


Il tipo di operatore

È possibile utilizzare l' typeofoperatore JavaScript per trovare il tipo di una variabile JavaScript.

L' typeofoperatore restituisce il tipo di una variabile o di un'espressione:

Esempio

typeof ""             // Returns "string"
typeof "John"         // Returns "string"
typeof "John Doe"     // Returns "string"

Esempio

typeof 0              // Returns "number"
typeof 314            // Returns "number"
typeof 3.14           // Returns "number"
typeof (3)            // Returns "number"
typeof (3 + 4)        // Returns "number"

Imparerai di più su typeof più avanti in questo tutorial.


Non definito

In JavaScript, una variabile senza valore ha il valore undefined. Il tipo è anche undefined.

Esempio

let car;    // Value is undefined, type is undefined

Qualsiasi variabile può essere svuotata, impostando il valore su undefined. Il tipo sarà anche undefined.

Esempio

car = undefined;    // Value is undefined, type is undefined

Valori vuoti

Un valore vuoto non ha nulla a che fare con undefined.

Una stringa vuota ha sia un valore legale che un tipo.

Esempio

let car = "";    // The value is "", the typeof is "string"

Mettiti alla prova con gli esercizi

Esercizio:

Utilizzare i commenti per descrivere il tipo di dati corretto delle seguenti variabili:

let length = 16;            // 
let lastName = "Johnson";   // 
const x = {
  firstName: "John",
  lastName: "Doe"
};                          //