Si propone di aggiungere la sintassi con informazioni sul tipo al linguaggio JavaScript

Microsoft, Igalia e Bloomberg hanno preso l'iniziativa di includere la sintassi nelle specifiche JavaScript per le definizioni di tipo esplicite, simile alla sintassi utilizzata nel linguaggio TypeScript. Attualmente, le modifiche al prototipo proposte per l'inclusione nello standard ECMAScript sono sottoposte a discussioni preliminari (Stage 0). Nella prossima riunione del comitato TC39 di marzo si prevede di passare alla prima fase di esame della proposta con il coinvolgimento della comunità di esperti dell'ECMA.

Avere specificato esplicitamente le informazioni sul tipo consentirà di evitare molti errori durante il processo di sviluppo, consentirà di utilizzare tecniche di ottimizzazione aggiuntive, semplificare il debug e rendere il codice più leggibile e più facile per la modifica e il supporto da parte di sviluppatori di terze parti. Si propone che il supporto del tipo venga implementato come funzionalità opzionale: i motori JavaScript e i runtime che non supportano il controllo del tipo ignoreranno le annotazioni con le informazioni sul tipo ed elaboreranno il codice come prima, trattando i dati del tipo come commenti. Ma gli strumenti di controllo dei tipi saranno in grado di utilizzare le informazioni disponibili per identificare gli errori associati all'uso errato dei tipi.

Inoltre, a differenza delle informazioni sul tipo specificate utilizzando le annotazioni JSDoc specificate sotto forma di commenti, l'indicazione diretta dei tipi direttamente nei costrutti di definizione delle variabili renderà il codice più visivo, comprensibile e più facile da modificare. Ad esempio, gli IDE con supporto TypeScript saranno in grado di evidenziare immediatamente gli errori nel codice JavaScript digitato senza ulteriori conversioni. Inoltre, il supporto dei tipi integrato consentirà di eseguire programmi scritti in dialetti JavaScript digitati, come TypeScript e Flow, senza transpilazione da una lingua all'altra.

Si propone di aggiungere la sintassi con informazioni sul tipo al linguaggio JavaScript

Tra i tipi si propone di aggiungere “string”, “number” e “boolean”, che possono essere utilizzati per definire variabili, parametri di funzione, elementi oggetto, campi di classe, array tipizzati (“number[]”). Si propone inoltre di fornire supporto per tipi uniti (“stringa | numero”) e generici. lascia x: stringa; funzione aggiungi(a: numero, b: numero) { return a + b; } interfaccia Persona { nome: stringa; età:numero; } funzione foo (x: T) { return x; } funzione foo(x: stringa | numero): stringa | numero { if (tipo di x === numero) { return x + 1 } else { return x + "!" } }

Fonte: opennet.ru

Aggiungi un commento