JavaScript

Dezvoltarea JavaScript de-a lungul timpului

Puteți accesa articolul original din „această pagină”.

1.1 Început

JS Historical Development este separată în două secțiuni.

  • Mai întâi, a existat **Era browserului, când JavaScript a încercat să existe în browsere.
  • În al doilea rând: perioadele ES6,ES7,ES8,ES9,ES10,ES11,ES12 după EcmaScript 5, când JavaScript era posibil să funcționeze în afara browserelor cu Node.JS și pe servere și desktop-uri.

1.2 Era browserelor

Brenden Eich: este creatorul limbajului de programare JavaScript. L-a dezvoltat în 1995 în timp ce lucra pentru Netscape, care acum este Mozilla. De-a lungul timpului, numele lui a fost schimbat în Mocha LiveScript JavaScript.

Doug Crockford: JSON (JavaScript Object Notation) a fost creat în 2002. Acest format, care este un subset de XML, servește drept bază atât pentru acceptarea directă a JavaScript în limbaj, cât și pentru interacțiunea cu serverul.

Jesse James Garrett: a definit Ajax într-o lucrare din 2005. Tehnica de comunicare de bază a aplicației web a fost comunicarea asincronă cu serverul.

John Resig: în 2006, a creat biblioteca JQuery. Acestea au fost biblioteci care le-au oferit dezvoltatorilor o abstractizare care a eliminat orice incompatibilități de browser, așa cum au fost popularizate de biblioteci precum Prototype, Dojo și Mootools.

HTML5: Flash se apropie de sfârșit. O altă descoperire pentru JavaScript a avut loc atunci când dezvoltatorii de tehnologie precum Steve Jobs și Mark Zuckerberg au declarat că nu vor accepta dispozitive Flash în browsere și că viitorul este în HTML5, CSS3 și JavaScript.

Odată cu începutul acestei tendințe, toate pluginurile care funcționau în browsere au dispărut. Appletul Java și JavaFX, Adobe Flash și Microsoft Silverlight au dispărut aproape.

1.3. Perioada ES (ES5, ES6, ES7, ES8, ES9, ES10, ES11, ES12)

NodeJS a fost creat în 2009 de Ryan Dahl. Această infrastructură, care a fost construită prin bifurcarea compilatorului JavaScript al Chrome, permite JS să ruleze ca server, adică în afara browserului. Și de atunci încolo, JS a început să alerge peste tot. A început să apară peste tot, nemaiîncadându-se în browserul care l-a adus în existență, iar comitetul a început să crească la nesfârșit. Cerințele au început să diverge. Cu această distincție, limba a început să fie refăcută într-o manieră evolutivă.

EcmaScript (ES): standardul de bază pentru JavaScript. De la începuturile sale ca limbaj bazat pe browser, acest standard a încorporat ActionScript-ul Flash și JScript-ul Microsoft. Dar, în cele din urmă, cele mai bune caracteristici ale altor limbi au fost încorporate în JavaScript și au dispărut.

TC39: comitetul de dezvoltare ES este alcătuit din mai mulți membri de la dezvoltatori de browsere și companii mari legate de web.

Versiune: în fiecare an, în general în iunie, este publicată o nouă ediție a ES și fiecare an este desemnat prin dublarea numărului din anul precedent. De exemplu, caracteristicile lingvistice anunțate în 2015 sunt denumite ES6, caracteristicile lingvistice publicate în 2016 sunt denumite ES7, iar caracteristicile lingvistice implementate în 2019 sunt denumite ES10. Schimbările de limbaj JS publicate în 2015, ES6, au fost extrem de diferite și au avansat limbajul.

Am inclus mai jos evoluțiile în limbajul JS bazat pe versiunile EcmaScript;

1.3.1 ES6 (2015)

  • lasa si const
  • Funcții săgeți
  • Clase
  • Parametrii impliciti
  • Literale șablon
  • Distrugerea sarcinilor
  • Literale obiect îmbunătățite
  • For-of Loop
  • Promisiuni
  • Operator de răspândire
  • Set/Hartă
  • Generatoare

1.3.2 ES7 (2016)

  • Matrice.prototip.include
  • Operator de exponențiere (**)
  • Array.prototype.find și Array.prototype.findIndex
  • Object.getOwnPropertyDescriptors

1.3.3 ES8 (2017)

  • Captuseala cu siruri
  • Obiect (valori, intrări)
  • Funcții asincrone
  • Memorie partajată și atomic

1.3.4 ES9 (2018)

  • Iterație asincronă
  • Odihnă/Răspândire
  • Promit.prototip.în sfârșit
  • Îmbunătățiri ale expresiei regulate

1.3.5 ES10 (2019)

  • Matrice (plat, flatMap)
  • Obiect (fromEntries)
  • Legătură de prindere opțională
  • Șir (trimStart, trimEnd)
  • Simbol (descriere)
  • matrice stabilă (sortare)
  • JSON bine format (stringify)
  • Câmp static

1.3.6. ES11 (2020)

  • BigInt
  • Import dinamic
  • Coalescare nulă
  • Înlănțuire opțională
  • Promit.toate gata
  • String#matchAll
  • globalAsta
  • Exporturile de spațiu de nume ale modulului
  • Bine definit pentru-în ordine
  • import.meta
  • câmpuri private (#)

1.3.7 ES12 (2021)

  • Separatoare numerice
  • String.prototype.replaceAll
  • Promise.any() și AggregateError
  • Operatori de atribuire logică
  • Metode de clasă privată și accesorii

1.3.7 ES13 (2022)

  • Așteptați operatorul de la nivelul superior
  • Declarații de câmp de clasă
  • Metode și domenii private
  • Câmpuri de clasă statică și metode statice private
  • Indicii de potrivire RegExp
  • Verificări de marcă ergonomice pentru câmpuri private
  • Funcția .at() pentru indexare
  • Funcția temporală

Pentru a înțelege mai multe despre tipurile de exemple de aplicații pe care le-am menționat mai sus, puteți descărca și citi „ebook pdf