EcmaScript 6 (ES6) ceea ce este nou în noua versiune de javascript

Salvare sau Împărtășiți

Vă rugăm să rețineți că sprijinul acestor caracteristici noi ES6 în browserele moderne este în plină desfășurare, deși oarecum variate. Dacă aveți nevoie pentru a sprijini browsere mai vechi care nu folosesc multe caracteristici ES6, articolul va fi afectat de decizie, care vă poate ajuta să începeți să utilizați ES6.

variabile

Acest lucru va ajuta la a face codul mai clar, ca urmare a reducerii numărului de variabile agățat în domeniul de aplicare. De exemplu, iterația clasic de matrice:

Deseori, pot fi utilizate, de exemplu, o variabilă j pentru o altă iterație în același domeniu de aplicare. Dar, pentru a lăsa. puteți declara în condiții de siguranță i din nou, deoarece variabilele sunt declarate și sunt disponibile numai în domeniul de aplicare al propriei unități.

Vă rugăm să rețineți că puteți schimba în continuare valorile proprietăților obiectului sau membrii matrice:

Prezența la vot funcția

Dacă ne uităm la sintaxa funcțiilor de comutare, cheia nu va vedea funcția de cuvinte cheie. Rămâne doar zero sau mai multe argumente, „săgeata bold“ (=>) și expresia funcției. Expresia de retur este adăugat implicit.

La zero sau mai multe din același argument, trebuie să adăugați paranteze:

Incadrati expresia în blocul funcțional (). dacă aveți nevoie de logica mai complexe sau mai multe caractere whitespace (de exemplu, NEWLINE):

funcții analogice nu înseamnă numai un număr mai mic de caractere imprimate, dar comportamentul lor este diferit de functiile normale. Expresia săgeată moștenește această funcție și argumentele contextului înconjurător. Acest lucru înseamnă că puteți scăpa de expresii urâte, cum ar fi var, care = acest lucru. și nu trebuie să se asocieze o funcție cu contextul corect. Exemplu de cod (nota this.title comparativ cu that.title versiune ES5):

Perechea de metode convenabile a fost adăugat prototipului String. Cele mai multe dintre ele sunt pur și simplu elimina ocolurile metoda indexOf () pentru a produce același rezultat:

Simplu, dar eficient. O altă metodă convenabilă a fost adăugat pentru a crea o linie recurentă:

literali șablon

literale de șabloane oferă un mod curat de a crea rânduri și expresii de interpolare. Poate că sunteți deja familiarizați cu sintaxa; aceasta se bazează pe $ semnul dolar și acolade. Literalii șablon sunt închise în backquotes. Un scurt exemplu:

După cum se vede din codul de mai sus, literalii șablon convenabil pur și simplu pentru a înlănțui în comparație cu ES5. Cu toate acestea, literali wildcard poate fi de asemenea utilizat pentru multi-literali. Rețineți că caractere spațiu alb (de exemplu, NEWLINE) fac parte din șirul de caractere:

Există mai multe metode noi de clasă statică în obiectul Array și mai multe metode noi au Array prototip.

În primul rând, Array.from creează o serie de copii ale massivopodobnyh și iterable. Exemple massivopodobnyh obiecte includ:

  • argumente în funcție;
  • nodeList. returnat de document.getElementsByTageName ();
  • Date cartografice de noi structuri și set.

În exemplul de mai sus, puteți vedea că matrice are o metodă foreach. care nu este disponibilă în colecția itemElements.

O caracteristică interesantă este Array.from opțional al doilea mapFunction argument. care vă permite să creați o nouă matrice distribuite într-un singur apel.

În continuare avem Array.of. care se comportă la fel ca constructorul Array. Acesta stabilește un caz special, atunci când un argument a trecut la un singur număr. Acest lucru face ca Array.of mai preferabil să new Array (). Cu toate acestea, în cele mai multe cazuri, veți dori să utilizați un șir literal.

  • găsi întoarce primul element, pentru care o funcție de apel invers returnează true;
  • findIndex returnează indicele primului element, pentru care o funcție de apel invers returnează true;
  • umple «rescrieri» elementele matricei să treacă un argument.

Obiectul Math este o pereche de metode noi a fost adăugat.

  • Math.sign returnează semnul numerelor ca 1. -1 sau 0;
  • se întoarce Math.trunc transmise de către un număr fără zecimale;
  • Math.cbrt returnează rădăcina cub de un număr.

operatorul de distribuție

Operatorul de distribuție (.) - este sintaxa foarte convenabil pentru desfășurarea elementelor de matrice în locuri specifice, cum ar fi argumentele în apelul funcției. Arată câteva exemple - este, probabil, cel mai bun mod de a demonstra modul în care acestea sunt utile.

În primul rând, să vedem cum se disloca elemente ale unui tablou într-o altă matrice:

Sintaxa de distribuție este de asemenea util atunci când apelați funcții cu argumente:

După cum puteți vedea, ne salvează de parcurgeri fn.apply utilizate în mod obișnuit (). Sintaxa este foarte flexibil, astfel încât răspândirea operatorului poate fi utilizat oriunde într-o listă de argumente. Aceasta înseamnă că următorul apel la același efect:

Noi folosim operatorii comune matrice și argumente. De fapt, acesta poate fi aplicat la toate aceste iterable ca NodeList:

Acum allTheThings - un tablou unidimensional care conține elementele

și elementele lor copil și