Hè prupostu di aghjunghje una sintassi cù infurmazione di tipu à a lingua JavaScript

Microsoft, Igalia è Bloomberg anu pigliatu l'iniziativa di include a sintassi in a specificazione JavaScript per definizioni di tipu esplicite, simili à a sintassi utilizata in a lingua TypeScript. Attualmente, i cambiamenti di prototipu pruposti per l'inclusione in u standard ECMAScript sò sottumessi per discussioni preliminari (Stage 0). À a prossima riunione di u cumitatu TC39 in marzu, hè previstu di passà à a prima tappa di cunsiderazione di a pruposta cù l'implicazione di a cumunità esperta da ECMA.

Avè l'infurmazione di tipu esplicitamente specificata vi permetterà di evità parechji errori durante u prucessu di sviluppu, permettenu di utilizà tecniche d'ottimisazione supplementari, simplificà a debugging, è rende u codice più leggibile è più faciule per a mudificazione è u sustegnu di sviluppatori di terzu. U supportu di u tipu hè prupostu per esse implementatu cum'è una funzione opzionale - i motori JavaScript è i runtimes chì ùn supportanu micca a verificazione di u tipu ignoraranu l'annotazioni cù l'infurmazioni di tipu è processanu u codice cum'è prima, trattendu i dati di tipu cum'è cumenti. Ma l'arnesi di cuntrollu di u tipu puderà utilizà l'infurmazioni dispunibili per identificà l'errori assuciati cù l'usu incorrectu di i tipi.

Inoltre, in cuntrastu cù l'infurmazioni di tipu specificate cù l'annotazioni JSDoc specificate in forma di cumenti, l'indicazione diretta di i tipi direttamente in custruzzioni di definizione variabile farà u codice più visuale, comprensibile è più faciule d'edità. Per esempiu, l'IDE cù supportu TypeScript puderanu subliminà immediatamente l'errori in u codice JavaScript digitatu senza cunversione supplementu. Inoltre, u supportu di tipu integratu permetterà di eseguisce prugrammi scritti in dialetti JavaScript tipati, cum'è TypeScript è Flow, senza traspilà da una lingua à l'altru.

Hè prupostu di aghjunghje una sintassi cù infurmazione di tipu à a lingua JavaScript

Trà i tippi, hè prupostu di aghjunghje "string", "number" è "boolean", chì ponu esse usatu per definisce variàbili, paràmetri di funzione, elementi di l'ughjettu, campi di classi, array typed ("number[]"). Hè ancu prupostu di furnisce un supportu per i tipi fusionati ("string | number") è generici. lassà x: stringa; funzione add(a: numeru, b: numeru) { return a + b; } interfaccia Persona { nome : stringa ; età: numeru; } funzione foo (x: T) { ritornu x; } funzione foo(x: stringa | numeru): stringa | numeru { if (tipu di x === numeru) { ritornu x + 1 } altru { ritornu x + "!" } }

Source: opennet.ru

Add a comment