JavaScript Cheat Sheet
Ultimo aggiornamento
Variabili (let, const, var)
Dichiara i valori; preferisci const, poi let, ed evita var.
| Operazione | Sintassi |
|---|---|
| Scope di blocco, riassegnabile | let count = 0; |
| Scope di blocco, non riassegnabile | const name = "Ada"; |
| Scope di funzione (vecchio stile) | var x = 1; |
| Dichiarare senza valore | let result; |
| Più dichiarazioni | let a = 1, b = 2; |
| Oggetto costante (contenuto modificabile) | const user = {}; user.id = 1; |
Tipi di dati
I tipi primitivi e riferimento, più come controllarli.
| Tipo | Esempio |
|---|---|
| Number | let n = 42; |
| String | let s = "hi"; |
| Boolean | let ok = true; |
| Array | let arr = [1, 2, 3]; |
| Object | let obj = { id: 1 }; |
| Null / undefined | let a = null;, let b; |
| Controllare un tipo | typeof n |
| Convertire | Number("7"), String(42), Boolean(0) |
Stringhe e template literal
Costruisci e manipola il testo.
| Operazione | Sintassi |
|---|---|
| Template literal | Hi ${name}, age ${age} (racchiuso tra backtick) |
| Lunghezza | text.length |
| Maiuscolo / minuscolo | text.toUpperCase(), text.toLowerCase() |
| Rimuovere gli spazi | text.trim() |
| Sostituire tutto | text.replaceAll("a", "b") |
| Dividere in un array | text.split(",") |
| Contiene | text.includes("js") |
| Estrarre una porzione | text.slice(0, 3) |
Array e metodi degli array
Collezioni ordinate e i metodi che le percorrono.
| Operazione | Sintassi |
|---|---|
| Aggiungere / rimuovere in fondo | arr.push(4), arr.pop() |
| Aggiungere / rimuovere all'inizio | arr.unshift(0), arr.shift() |
| Trasformare ogni elemento | arr.map(x => x * 2) |
| Tenere gli elementi che corrispondono | arr.filter(x => x > 0) |
| Ridurre a un singolo valore | arr.reduce((sum, x) => sum + x, 0) |
| Trovare un elemento | arr.find(x => x.id === 1) |
| Verificare some / every | arr.some(f), arr.every(f) |
| Indice di un valore | arr.indexOf(3), arr.includes(3) |
| Unire in una stringa | arr.join(", ") |
Oggetti
Collezioni chiave-valore.
| Operazione | Sintassi |
|---|---|
| Creare | const user = { id: 1, name: "Ada" }; |
| Accedere a una proprietà | user.name, user["name"] |
| Aggiungere / aggiornare una proprietà | user.age = 25; |
| Eliminare una proprietà | delete user.age; |
| Ottenere tutte le chiavi / i valori | Object.keys(user), Object.values(user) |
| Ottenere le coppie | Object.entries(user) |
| Unire oggetti | Object.assign({}, a, b) |
| Copia superficiale | const copy = { ...user }; |
Controllo del flusso
Condizioni e cicli.
| Operazione | Sintassi |
|---|---|
| If / else if / else | if (x > 0) { … } else { … } |
| Ternario | const y = x > 0 ? 1 : 0; |
| Switch | switch (x) { case 1: … break; } |
| Ciclo for | for (let i = 0; i < 5; i++) { … } |
| For-of (valori) | for (const item of arr) { … } |
| For-in (chiavi) | for (const key in obj) { … } |
| Ciclo while | while (x < 10) { … } |
Funzioni e arrow function
Definisci blocchi riutilizzabili da richiamare.
| Operazione | Sintassi |
|---|---|
| Dichiarazione di funzione | function add(a, b) { return a + b; } |
| Arrow function | const add = (a, b) => a + b; |
| Arrow con un solo argomento | const sq = x => x * x; |
| Arrow senza argomenti | const now = () => Date.now(); |
| Parametro predefinito | function f(x = 0) { … } |
| Parametri rest | function f(...args) { … } |
| Invocata immediatamente (IIFE) | (() => { … })(); |
Destructuring e spread
Estrai valori e copia o unisci strutture.
| Operazione | Sintassi |
|---|---|
| Destructuring di array | const [a, b] = arr; |
| Destructuring di oggetti | const { id, name } = user; |
| Rinominare durante l'estrazione | const { id: userId } = user; |
| Valore predefinito | const { age = 0 } = user; |
| Spread di un array | const all = [...a, ...b]; |
| Spread di un oggetto | const next = { ...user, age: 25 }; |
| Rest nel destructuring | const [first, ...rest] = arr; |
Promise e async/await
Gestisci il lavoro asincrono, come le richieste di rete.
| Operazione | Sintassi |
|---|---|
| Funzione async | async function load() { … } |
| Attendere una promise | const data = await fetch(url); |
| Then / catch | promise.then(res => …).catch(err => …) |
| Try / catch con await | try { await f(); } catch (e) { … } |
| Resolve / reject | Promise.resolve(1), Promise.reject(err) |
| Attendere tutte | await Promise.all([a, b]) |
| La prima che si conclude | await Promise.race([a, b]) |
La sintassi di JavaScript moderno che usi di più, in una sola pagina. Questa cheat sheet di JavaScript è un riferimento rapido per l'ES6+ di tutti i giorni: dichiarare variabili, metodi delle stringhe e degli array, oggetti, arrow function, destructuring e async/await.
Tutto quello che trovi qui è JavaScript standard che gira nei browser moderni e in Node.js. Copia quello che ti serve oppure prova qualsiasi frammento dal vivo nel playground JS, senza installare nulla. Stai iniziando ora? Il corso interattivo gratuito di JavaScript di Coddy ti insegna la stessa sintassi con la pratica.
Domande frequenti sulla cheat sheet di JavaScript
Questa cheat sheet di JavaScript è gratuita?
Qual è la differenza tra == e === in JavaScript?
== è l'uguaglianza debole: converte gli operandi allo stesso tipo prima di confrontarli, quindi 0 == "0" è true. === è l'uguaglianza stretta: confronta valore e tipo senza conversioni, quindi 0 === "0" è false. Preferisci === (e !==) quasi sempre: è prevedibile ed evita conversioni inaspettate.Qual è la differenza tra let, const e var?
const e let hanno scope di blocco e sono arrivati con ES6; var ha scope di funzione ed è più vecchio. Usa const per i valori che non riassegni mai, let per quelli che riassegni, ed evita var per non incappare in bug di hoisting e di scope. Nota che un oggetto o un array const può comunque cambiare contenuto: è solo il collegamento a essere costante.