Microsoft, Igalia i Bloomberg predlažu uključivanje sintakse za definiciju u JS 

Microsoft, Igalia i Bloomberg To su objavili prije nekoliko dana su preuzeli inicijativu za uključivanje sintakse za eksplicitnu definiciju tipa u specifikaciji JavaScripta, slično sintaksi koja se koristi u jeziku TypeScript.

Trenutno su promjene prototipa predložene za uključivanje u standard ECMAScript dostavljene na preliminarne rasprave (faza 0).

Danas sa zadovoljstvom najavljujemo našu podršku i saradnju na novom prijedlogu Stage 0 koji donosi opcionalnu sintaksu tipa koja se može izbrisati u JavaScript. Pošto ova nova sintaksa ne bi promenila način na koji se izvršava okolni kod, ona bi efektivno delovala kao komentari. Vjerujemo da ovo ima potencijal da učini TypeScript lakšim i bržim za korištenje za razvoj na svim razinama. Željeli bismo razgovarati o tome zašto se time bavimo i kako ovaj prijedlog funkcionira na visokom nivou.

Spominje se da je kod tEksplicitne informacije o tipu će izbjeći mnoge greške u procesu razvoja, će pružiti priliku za korištenje dodatnih tehnika optimizacije, pojednostaviti otklanjanje grešaka i učiniti kod čitljivijim i lakšim za modificiranje i održavanje od strane programera treće strane.

pored toga Predlaže se implementacija podrške za tipove kao opcione karakteristike: JavaScript motori i vremena izvođenja koji ne podržavaju provjeru tipa zanemarit će napomene sa informacijama o tipu i obraditi kod kao i prije, percipirajući podatke o tipu kao komentare. Ali alati za provjeru tipa moći će, na osnovu dostupnih informacija, da otkriju greške povezane s pogrešnom upotrebom tipova.

Pozadina
Nedavni trend koji je naš tim vidio u svijetu JavaScripta je zahtjev za bržim vremenom iteracije i smanjenim koracima izgradnje. Drugim riječima, „učinite to bržim i jednostavnijim“.

Na neki način, to se već dešava. Zahvaljujući uspjehu evergreen pretraživača, programeri često mogu izbjeći kompajliranje novijih verzija JavaScripta za pokretanje na starijim runtimeima. U određenoj mjeri, isto vrijedi i za grupiranje: većina pretraživača ima ugrađenu podršku za korištenje modula, tako da se grupiranje može smatrati više kao korak optimizacije nego kao neophodnost. Ovo je sve češće slučaj, pa kako TypeScript drži korak?

Istovremeno, za razliku od informacija o specificiranom tipu koristeći JSDoc napomene navedene u obliku komentara, direktnu specifikaciju tipova direktno u konstrukcije definicije varijable učinit će kod vizualnijim, razumljivijim i lakšim za uređivanje.

Na primjer, IDE sa omogućenom TypeScript-om moći će odmah istaknuti greške u pisanom JavaScript kodu bez dodatnih transformacija. Dodatno, ugrađena podrška za tipove omogućit će pokretanje programa napisanih na JavaScript dijalektima napisanim poput TypeScript i Flow bez transpiliranja s jednog jezika na drugi.

Od tipova, predlaže se dodavanje „string“, „broja“ i „boolean“, koji se mogu koristiti prilikom definisanja varijabli, parametara funkcija, elemenata objekta, polja klase, tipovanih nizova („broj []“). Takođe se predlaže da se obezbedi podrška za mešovite ("string | broj") i generičke tipove.

S obzirom na sve ovo, planiramo da ovaj prijedlog za Fazu 1 predstavimo na predstojećem plenarnom sastanku TC2022 u martu 39. godine. To ćemo učiniti uz podršku i vodstvo naših sušampiona ovog prijedloga, Roba Palmera iz Bloomberga i Romula Cintre iz Igalije.

Postizanje faze 1 značilo bi da odbor za standarde vjeruje da je kompatibilna sintaksa tipa za ECMAScript vrijedna razmatranja. Ovo nije sigurno: postoji mnogo vrijednih perspektiva unutar odbora i očekujemo određenu dozu skepticizma. Ovakav prijedlog će dobiti mnogo komentara i valjane analize. To može uključivati ​​mnoge promjene dizajna na putu i mogu potrajati godine da se postignu rezultati.

Na sledećem sastanku marta odbora TC39, planira se prelazak na prvu fazu razmatranje prijedloga uz učešće ECMA zajednice stručnjaka.

Konačno Ako ste zainteresirani da saznate više o tome, detalje možete provjeriti u sljedeći link.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.