TypeScript 4.6 si ammorbidisce

L'ultima versione di JavaScript fortemente tipizzato di Microsoft consente il codice nei costruttori prima di super(), migliora i controlli della profondità di ricorsione, supporta ES2022 come destinazione di output e altro ancora.
Schermata 2022-02-17 alle 09.47.08

TypeScript 4.6, la prossima iterazione del superset di JavaScript fortemente tipizzato di Microsoft, è passato a una fase di rilascio candidato, aggiungendo funzionalità per l’analisi del flusso di controllo e la destinazione di output ES2022 dal rilascio beta.

La release candidate, pubblicata l’11 febbraio, segue la versione beta offerta il 21 gennaio. Con l’analisi del flusso di controllo per i sindacati discriminati destrutturati, TypeScript ora può restringere i tipi in base a una parte discriminante. Quando si destrutturano singole proprietà in una dichiarazione const, o quando si destruttura un parametro in variabili a cui non sono mai assegnate, TypeScript verificherà se il tipo destrutturato è un’unione discriminata. In tal caso, TypeScript può restringere i tipi di variabili in base ai controlli di altre variabili.

Un’altra novità in TypeScript 4.6, l’opzione –target di TypeScript ora supporta ES2022, il che significa che funzionalità come i campi di classe ora hanno una destinazione di output stabile in cui possono essere conservate. Inoltre, è possibile utilizzare nuove funzionalità integrate come il metodo at() sugli array con questa nuova impostazione –target o con –lib es2022.

Tra le capacità citate in precedenza, un miglioramento allenta le restrizioni di codifica consentendo il codice nei costruttori prima di super(). Nelle classi JavaScript, è obbligatorio chiamare super() prima di fare riferimento a questo. Anche TypeScript lo imponeva, ma era un po’ troppo rigoroso, secondo un bollettino su TypeScript 4.6. È stato un errore contenere codice all’inizio di un costruttore se la classe che lo contiene aveva inizializzatori di proprietà. Ciò ha reso “economico” controllare che super() fosse stato chiamato prima che fosse referenziato, ma ha comportato il rifiuto del codice valido. TypeScript 4.6 rilassa questo controllo. Consente inoltre l’esecuzione di altro codice prima di super() assicurando che super() si trovi al livello superiore prima dei riferimenti a questo.

È possibile accedere alla versione beta tramite NuGet o tramite NPM:

npm install typescript@rc

TypeScript 4.6 dovrebbe essere rilasciato come versione di produzione questo mese.

In TypeScript 4.6:

  • Con l’analisi del flusso di controllo per i parametri dipendenti, TypeScript può restringere i parametri che dipendono da altri, in alcune situazioni in cui TypeScript deduce da una firma in un parametro di riposo.
  • I controlli della profondità di ricorsione migliorati offrono un migliore controllo delle relazioni per i tipi ricorsivi.
  • TypeScript ora può dedurre i tipi di accesso indicizzati che indicizzano immediatamente in un tipo di oggetto mappato.
  • L’insieme degli errori di sintassi e di associazione nei file JavaScript è stato ampliato. Questi verranno visualizzati se gli sviluppatori aprono file JavaScript in un editor come Visual Studio o Visual Studio Code o se eseguono codice JavaScript tramite il compilatore TypeScript.
  • È stato pubblicato uno strumento di analisi delle tracce per aiutare i team a riscontrare problemi di prestazioni.
  • Le espressioni di riposo degli oggetti ora rilasciano i membri che sembrano essere oggetti generici o non diffondibili. Questo è un cambiamento radicale.

La versione precedente di TypeScript 4.5 è stata pubblicata lo scorso novembre, con miglioramenti di Promise.

Fonte: Infoworld

Post Correlati