

anche Se ES6 specifica non è super-fresco, credo che molti sviluppatori sono ancora di non saltare familiarità con esso., Il motivo principale è probabilmente scarso supporto nei browser Web subito dopo il rilascio delle specifiche. Attualmente, la specifica ha più di 2 anni e molti browser Web moderni funzionano bene con ES6. Anche se tu (o i tuoi clienti) non usi la versione più recente del browser Web, puoi usare transpilers (come Babel), che trasforma le origini ES6 in fonti ES5 durante il processo di compilazione dell’applicazione. Significa che è giunto il momento di fare un passo avanti e imparare ES6.
In questo articolo, cercherò di introdurre le funzionalità più utili in modo succinto., Dopo il tutorial, si possiede competenze di base ed essere in grado di applicarle in un vero e proprio progetto. Non trattarlo come una guida o documentazione. Il mio obiettivo è quello di incoraggiarvi a scavare più a fondo e acquisire familiarità con ES6.
const e let parole chiave
const consente di definire costanti (finalmente!). let consente di definire le variabili. È fantastico, ma non abbiamo già variabili in JavaScript? Sì, è vero, ma le variabili dichiarate da var hanno un ambito di funzione e vengono issate verso l’alto. Significa che una variabile può essere utilizzata prima che sia stata dichiarata., lasciate che le variabili e le costanti abbiano un ambito di blocco (circondato da {}) e non possano essere utilizzate prima della dichiarazione.
Funzioni helper Array
Sono apparse nuove funzioni helper cool, che facilitano il lavoro con gli array JS nella maggior parte dei casi utili. Quante volte hai implementato la logica come: filtraggio, controllo se uno o tutti gli elementi soddisfano la condizione o la conversione degli elementi? Probabilmente molto spesso. Ora hai grandi caratteristiche linguistiche per fare il lavoro per te., Qui, a mio parere, sono le funzioni più preziose:
forEach
Esegue la funzione fornita per ogni elemento dell’array, passando l’elemento dell’array come argomento.
map
Crea un nuovo array contenente lo stesso numero di elementi, ma gli elementi di output vengono creati dalla funzione fornita. Converte semplicemente ogni elemento dell’array in qualcos’altro.,
filtro
Crea un nuovo array contenente un sottoinsieme dell’array originale. Il risultato ha questi elementi che superano il test implementato dalla funzione fornita, che dovrebbe restituire true o false.
trova
Trova il primo elemento che supera il test implementato dalla funzione fornita, che dovrebbe restituire true o false.,
ogni
controlla se ogni elemento dell’array supera il test implementato dalla funzione fornita, che dovrebbe restituire true o false.
alcuni
controllano se qualsiasi elemento dell’array supera il test implementato dalla funzione fornita, che dovrebbe restituire true o false.,
reduce
Applica una funzione passata come primo parametro contro un accumulatore e ogni elemento dell’array (da sinistra a destra), riducendolo così ad un singolo valore. Il valore iniziale dell’accumulatore dovrebbe essere fornito come secondo parametro della funzione di riduzione.
Funzioni freccia
L’implementazione di funzioni molto semplici (come la somma o il prodotto di cui sopra) richiede la scrittura di un sacco di boilerplate., C’è qualche rimedio per questo? Sì, basta provare le funzioni freccia!
Le funzioni freccia possono anche essere inline. E ‘ davvero semplifica il codice:
Freccia funzioni possono anche essere più complessi e di molte righe di codice:
Classi
Quale versione di Java developer non perdere le classi, quando si accende un JS progetto?, A chi non piace l’ereditarietà esplicita, come nel linguaggio Java, invece di scrivere codice magico per l’ereditarietà prototipale? Sebbene alcuni sviluppatori JS si siano lamentati, le classi sono state introdotte in ES6. Non cambiano il concetto di ereditarietà. Sono solo zucchero sintattico per l’ereditarietà prototipale.
I letterali degli oggetti avanzati
i letterali degli oggetti sono stati migliorati., Ora si può molto più facilmente:
- definire i campi con l’assegnazione di variabile con lo stesso nome
- definire le funzioni
- definire dinamico (calcolato) proprietà
Modello di stringhe
Chi ama scrivere stringa di grandi dimensioni e variabili concatenazione? Credo in una minoranza di noi. Chi odia leggerlo? Sono sicuro che tutti. Fortunatamente, ES6 introduce modelli di stringa molto facili da usare con segnaposto per le variabili.,
Si prega di notare, che possiamo scrivere testo su più righe.
Importante: usa i backtick invece degli apostrofi per avvolgere il testo.
Argomenti di funzione predefiniti
Non ti piace fornire tutti i possibili parametri di funzione? Usa i valori predefiniti.
Operatori rest e spread
Spread
Consente l’estrazione di contenuti di array o oggetti come singoli elementi.,
Esempio copia superficiale di array:
Esempio di unione di matrici:
Riposo
vuoi associare i primi parametri di una funzione di variabili, e altri per le singole variabili come un array? Ora puoi farlo abbastanza facilmente.,
La destrutturazione
Dell’array
Consente l’estrazione degli elementi richiesti dall’array e l’assegnazione a variabili.
Dell’oggetto
Consente l’estrazione delle proprietà richieste dall’oggetto e l’assegnazione a variabili con lo stesso nome delle proprietà.,
Promette
Promette promesse (sì, so che sembra strano) che si otterrebbero risultati futuri di attività differite o di lunga durata. Promise ha due canali: il primo per i risultati, il secondo per potenziali errori. Per ottenere il risultato, si fornisce la funzione di callback come parametro della funzione ‘then’. Per gestire gli errori, si fornisce la funzione di callback come parametro della funzione’ catch’.
Si noti che l’output dell’esempio potrebbe differire per ogni esecuzione, a causa della chiamata di funzione casuale.,
Sommario
Spero che ti sia piaciuto l’articolo. Se vuoi un po ‘ di pratica, puoi usare la sandbox per il processo di apprendimento: https://es6console.com/. Se hai bisogno di maggiori informazioni, puoi trovarle qui: