CONTATTACI

Guide per aspiranti programmatori

ragazzo che legge un libro per scoprire i segreti dell UI design
Lezione 9 / 30

Sistema di tipi in Typescript

Ora che abbiamo visto come lavorare con TypeScript, iniziamo a farci un’idea su come sfruttarne le potenzialità. 

Come suggerisce il nome, la principale feature che TypeScript aggiunge al linguaggio JavaScript consta di un potente e versatile sistema di tipi (in inglese: type system) che ci permette di identificare tutti i tipi di dato (di seguito tipi) nativi di JavaScript e di definire un’incredibile varietà di tipi personalizzati. 

Esistono molti linguaggi di programmazione tipizzati con diversi approcci alla gestione dei tipi di dato, perciò vediamo di collocare TypeScript nel panorama fornendo una classificazione super sintetica, ma densa di significato: 

TypeScript presenta un type system statico, strutturale, multi-paradigma.

 

Type system statico

Per type system statico si intende che il tipo di una variabile è noto in compilazione; al contrario, in un linguaggio di programmazione dinamicamente tipizzato (come JavaScript) il tipo di una variabile è noto solo in esecuzione. Il vantaggio di un type system statico consiste nel poter verificare che a una variabile sia sempre assegnato un valore di un tipo compatibile con quello che ci si aspetta quando si andrà a leggere quella variabile. 

Il bello è che questo tipo di verifica può essere sempre fatto prima che la nostra web app sia eseguita! Questa caratteristica si chiama compile time type checking, cioè verifica di tipo in fase di compilazione

Type system strutturale

Per type system strutturale si intende che due tipi che esprimono strutture compatibili, sono considerati come lo stesso tipo anche se sono identificati da nomi diversi; al contrario, un type system nominale identifica i tipi esclusivamente in base al loro nome e determina la struttura di un tipo a partire dal nome anziché dalle sue proprietà. 

L’adozione di un sistema di tipi strutturale è anche detta duck typing, secondo il principio per cui se un uccello cammina come un’anatra, nuota come un’anatra e starnazza come un’anatra, dev’essere un’anatra! 

Type system multi-paradigma

Per type system multi-paradigma intendiamo semplicemente che TypeScript offre diversi approcci alla definizione di tipi; per esempio, permette di definire un nuovo tipo combinando o trasformando altri tipi, come spesso si fa in programmazione funzionale, oppure di definire gerarchie di tipi che vanno da quelli più astratti a quelli più concreti sfruttando il polimorfismo, come accade nella programmazione orientata agli oggetti

Nell’ultima parte di questa guida affronteremo le principali tecniche di applicazione di questi paradigmi e come queste sfruttano il type system di TypeScript. 

Contattaci senza impegno per informazioni sul corso

Pagamento rateale

Valore della rata: A PARTIRE DA 115 €/mese.

Esempio di finanziamento 

Importo finanziato: € 2440 in 24 rate da € 115 – TAN fisso 9,55% TAEG 12,57% – importo totale del credito € 2841.

Il costo totale del credito comprende: interessi calcolati al TAN indicato, oneri fiscali (imposta di bollo sul contratto 16,00 euro*) addebitati sulla prima rata, costo mensile di gestione pratica € 3,90, spesa di istruttoria € 0,00, spesa per invio rendicontazione periodica cartacea € 0,98 (o spesa per invio rendicontazione periodica cartacea € 0,00), imposta di bollo su rendicontazione periodica € 0,00. Modalità di rimborso obbligatoria: addebito diretto su c/c. La scadenza delle rate è determinata dal giorno della liquidazione del contratto; la data di scadenza delle rate è prevista il giorno 15 del mese. L’importo di ciascuna rata comprende una quota di capitale crescente e interessi decrescente secondo un piano di ammortamento “alla francese”. Offerta valida dal 01/01/2024 al 31/12/2024.

Messaggio pubblicitario con finalità promozionale. Per le informazioni precontrattuali richiedere sul punto vendita il documento “Informazioni europee di base sul credito ai consumatori” (SECCI) e copia del testo contrattuale. Salvo approvazione di Sella Personal Credit S.p.A. Aulab S.r.l. opera quale intermediario del credito NON in esclusiva.

*In fase di richiesta del finanziamento verrà proposta la facoltà di selezionare, in alternativa all’imposta di bollo sul contratto di 16,00 euro, l’imposta sostitutiva, pari allo 0,25% dell’importo finanziato.

Pagamento rateale

Valore della rata: A PARTIRE DA 187 €/mese.

Esempio di finanziamento  

Importo finanziato: € 3990 in 24 rate da € 187 – TAN fisso 9,55% TAEG 12,57% – importo totale del credito € 4572.88.

Il costo totale del credito comprende: interessi calcolati al TAN indicato, oneri fiscali (imposta di bollo sul contratto 16,00 euro*) addebitati sulla prima rata, costo mensile di gestione pratica € 3,90, spesa di istruttoria € 0,00, spesa per invio rendicontazione periodica cartacea € 0,98 (o spesa per invio rendicontazione periodica cartacea € 0,00), imposta di bollo su rendicontazione periodica € 0,00. Modalità di rimborso obbligatoria: addebito diretto su c/c. La scadenza delle rate è determinata dal giorno della liquidazione del contratto; la data di scadenza delle rate è prevista il giorno 15 del mese. L’importo di ciascuna rata comprende una quota di capitale crescente e interessi decrescente secondo un piano di ammortamento “alla francese”. Offerta valida dal 01/01/2024 al 31/12/2024.

Messaggio pubblicitario con finalità promozionale. Per le informazioni precontrattuali richiedere sul punto vendita il documento “Informazioni europee di base sul credito ai consumatori” (SECCI) e copia del testo contrattuale. Salvo approvazione di Sella Personal Credit S.p.A. Aulab S.r.l. opera quale intermediario del credito NON in esclusiva.

* In fase di richiesta del finanziamento verrà proposta la facoltà di selezionare, in alternativa all’imposta di bollo sul contratto di 16,00 euro, l’imposta sostitutiva, pari allo 0,25% dell’importo finanziato.

Contattaci senza impegno per informazioni sul corso

Scopriamo insieme se i nostri corsi fanno per te. Compila il form e aspetta la chiamata di uno dei nostri consulenti.