Cheat sheet JavaScript rapido e pratico di Toptal: ES6 e oltre
Pubblicato: 2022-03-11ECMAScript 6 (ES6) è l'ultima specifica standard di JavaScript , il linguaggio di programmazione del Web. Da quando HTML5 e la nascita di Node.js , il runtime che ci consente di eseguire JavaScript sul server o desktop, JavaScript ha acquisito uno slancio unico. C'è un tasso di adozione crescente tra le aziende, che lo stanno abbracciando nella produzione, e quindi le sue ultime funzionalità erano molto attese.
Abbiamo creato questo cheat sheet come un elenco di funzionalità di ES6 che utilizziamo ogni giorno. Cercando di essere esaurienti ma concisi allo stesso tempo, i nuovi metodi API vengono lasciati a parte. Per coloro che ne hanno bisogno, fai una rapida ricerca da solo o prova a esplorare la documentazione MDN per catturare le ultime API sperimentali. Tuttavia, sono incluse alcune delle caratteristiche più all'avanguardia come async
e await
dalla prossima bozza delle specifiche (ES7). Ciò è dovuto al fatto che la maggior parte di noi sviluppatori utilizzerà comunque un transpiler come Babel per trarre vantaggio dal nuovissimo JavaScript.
Puoi testare alcuni dei suggerimenti menzionati eseguendo il nodo REPL con questo comando:
node --use-strict $(node --v8-options | grep harm | awk '{print $1}' | xargs) #ES6
Oppure, usa direttamente un babel-node per ottenere il massimo da Javascript nella tua console.
Fare clic qui per scaricare il cheat sheet di JavaScript ES6
Cheat sheet di JavaScript (ES6 e oltre).
Costanti | lascia vs var | |
> const EULER = 2.7182818284 | > var media = 5 | |
Avvertimento! Se array o oggetto, il riferimento viene mantenuto costante . Se la costante è un riferimento a un oggetto, puoi comunque modificare il contenuto, ma non cambiare mai la variabile. | ||
> COST COSTANTI = [] | Fai attenzione alle zone morte temporali : | |
> console.log(val) // -> 'non definito' | ||
Perché equivale a: | ||
Notazione binaria, ottale ed esadecimale | > var | |
> 0b1001011101 // 605 | ||
Le variabili dichiarate con "let/const" non vengono sollevate: | ||
Nuovi tipi | > console.log(val) | |
Simboli, mappe, mappe deboli e set | ||
Funzione freccia | Nuove funzioni con ambito | |
> setTimeout(() => { | > { | |
Equivalente alla funzione anonima | Equivalente alle espressioni di funzione richiamate immediatamente (IIFE) | |
> setTimeout(funzione () { | > (funzione () { | |
Novità sulla notazione degli oggetti | Interpolazione di stringhe, grazie ai letterali del modello | |
// Proprietà calcolate // Letterali oggetto // Uguale a } | > nome const = 'Tigre' // Possiamo preservare le nuove righe... | |
![]() | Parametri predefiniti | |
> funzione howAreYou (risposta = 'ok') { | ||
Promesse | Classi, Ereditarietà, Setter, Getter | |
new Promise((risolvere, rifiutare) => { | classe Rettangolo estende Forma { | |
Array di destrutturazione | Destrutturazione di oggetti | |
> sia [a, b, c, d] = [1, 2, 3, 4]; | > let luke = { occupazione: 'jedi', | |
Operatore di diffusione | ...Vai a Destrutturare come un Boss | |
// Trasforma gli array in separati da virgole | > const [ gatto, cane, ... pesce ] = [ | |
O fai una spinta migliore | ...E la destrutturazione nel futuro ES7 | |
> lascia arr = [1, 2, 3] | {a, b, ... riposo} = {a:1, b:2, c:3, d:4} | |
Asincrono ES7 | Attendi ES7 | |
funzione asincrona schrodinger () { | Tentativo { | |
Esporta ES7 | Importazione di ES7 | |
funzione di esportazione sommaDue (a, b) { | import Reagisci da 'reagisci' | |
Generatori | ||
Restituiscono oggetti che implementano un protocollo di iterazione. cioè ha un metodo next() che restituisce { value: < some value>, done: <true or false> } . | ||
function* incRand (max) { // L'asterisco lo definisce come un generatore | ||
> var rng = incRand(2) // Restituisce un oggetto generatore |