Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. TypeScript
Code

TypeScript per Principianti, Parte 2: Tipi di dati di base

by
Difficulty:BeginnerLength:LongLanguages:
This post is part of a series called TypeScript for Beginners.
TypeScript for Beginners, Part 1: Getting Started
TypeScript for Beginners, Part 3: Interfaces

Italian (Italiano) translation by Mirko Pizii (you can also view the original English article)

Dopo aver letto il tutorial introduttivo di TypeScript, ora dovresti scrivere il proprio codice TypeScript in un IDE che lo supporta e quindi compilarlo in JavaScript. In questo tutorial, potrai conoscere i diversi tipi di tipi di dati disponibili in TypeScript.

JavaScript dispone di sette tipi di dati diversi: Null, Undefined, Boolean, Number, String, Symbol (introdotto in ES6) e Object. TypeScript definisce alcuni altri tipi e tutti saranno trattati in dettaglio in questo tutorial.

Il tipo dati Null

Proprio come in JavaScript, il tipo di dati null in TypeScript può avere un solo valore valido: null. Una variabile null non può contenere altri tipi di dati come il numero e la stringa. L'impostazione di una variabile a null cancellerà il suo contenuto se ne avesse alcuna.

Ricorda che quando il flag strictNullChecks è impostato su true in tsconfig.json, solo il valore null può essere assegnato a variabili con il tipo null. Questa bandiera è disattivata per impostazione predefinita, il che significa che puoi anche assegnare il valore null a variabili con altri tipi, come il number o il void.

Il tipo dati undefined

Qualsiasi variabile il cui valore non specificato è impostato su undefined. Tuttavia, è anche possibile impostare esplicitamente il tipo di una variabile non definita, come nell'esempio seguente.

Tieni presente che una variabile con il tipo impostato undefined può avere solo undefined come valore. Se l'opzione strictNullChecks è impostata su false, sarà anche possibile assegnare undefined a variabili con numeri e tipi di stringhe, ecc.

Il tipo dati void

Il tipo di dati vuoto viene utilizzato per indicare la mancanza di un tipo per una variabile. Impostare le variabili per avere un tipo void potrebbe non essere molto utile, ma è possibile impostare il tipo di ritorno delle funzioni che non restituiscono nulla per void. Quando viene utilizzato con variabili, il tipo void può avere solo due valori validi: null e undefined.

Il tipo di dati booleano

A differenza dei tipi di dati di numero e di stringa, booleano ha solo due valori validi. È possibile impostare solo il valore su true o false. Questi valori sono usati molto nelle strutture di controllo in cui un pezzo di codice viene eseguito se una condizione è vera ed un altro codice di codice viene eseguito se una condizione è falsa.

Ecco un esempio fondamentale di dichiarare le variabili booleane:

Tipo di dati di numero

Il tipo di dati number viene utilizzato per rappresentare sia valori interi sia valori a virgola mobile in JavaScript e TypeScript. Tuttavia, è necessario ricordare che tutti i numeri sono rappresentati internamente come valori a virgola mobile. I numeri possono anche essere specificati come letterali esadecimali, ottali o binari. Tieni presente che le rappresentazioni ottali e binarie sono state introdotte in ES6, e ciò può comportare un'uscita di codice JavaScript diversa in base alla versione di destinazione.

Esistono inoltre tre valori simbolici speciali che rientrano nel numero: +Infinity, -Infinity e NaN. Ecco alcuni esempi di utilizzo del tipo di numero.

Quando la versione di destinazione è impostata su ES6, il codice di cui sopra verrà compilato al seguente JavaScript:

You should note that the JavaScript variables are still declared using let, which was introduced in ES6. You also don't see any error messages related to the type of different variables because the JavaScript code has no knowledge of the types we used in the TypeScript code.

Se la versione di destinazione è impostata su ES5, il codice TypeScript che abbiamo scritto in precedenza si compila per il seguente JavaScript:

Come potete vedere, questa volta tutte le occorrenze della parola chiave let sono state modificate in var. Si noti inoltre che i numeri ottali e binari sono stati modificati nelle loro forme decimali.

Il tipo di dati String

Il tipo di dati di stringa viene utilizzato per memorizzare le informazioni testuali. Sia JavaScript che TypeScript utilizzano le virgolette (") e le virgolette singole (') per circondare le informazioni testuali come una stringa. Una stringa può contenere zero o più caratteri racchiusi tra virgolette.

TypeScript supporta anche stringhe di modelli o letterali di modello. Questi letterali di modello consentono di incorporare espressioni in una stringa. I letterali del modello sono racchiusi dal carattere di back-tick (`) anziché da doppie virgolette e singole citazioni che racchiudono stringhe regolari. Sono stati introdotti in ES6. Ciò significa che otterrete un'uscita JavaScript diversa in base alla versione che state selezionando. Ecco un esempio di utilizzo di letterali di modello in TypeScript:

Al momento della compilazione, avrai il seguente JavaScript:

Come si può vedere, il modello letterale è stato modificato in una stringa normale in ES5. Questo esempio mostra come TypeScript consente di utilizzare tutte le funzioni JavaScript più recenti senza preoccuparsi della compatibilità.

Tipi di dati array e tuple

È possibile definire tipi di array in due modi diversi in JavaScript. Nel primo metodo, si specifica il tipo di elementi di array seguito da [] che indica un array di quel tipo. Un altro metodo consiste nell'utilizzare l'array generico Array<elemType>. L'esempio seguente mostra come creare matrici con entrambi questi metodi. Specificare null o undefined come uno degli elementi produrrà errori quando il flag strictNullChecks è true.

Il tipo di dati della tupla consente di creare una matrice in cui il tipo di un numero fisso di elementi è noto in anticipo. Il tipo di resto degli elementi può essere solo uno dei tipi già specificati per la tupla. Ecco un esempio che lo renderà più chiaro:

Per tutte le tuple nel nostro esempio abbiamo impostato il tipo del primo elemento a un numero e il tipo del secondo elemento a una stringa. Poiché abbiamo specificato solo un tipo per i primi due elementi, il resto di essi può essere una stringa o un numero. La creazione di tuple b e c comporta un errore perché abbiamo cercato di utilizzare una stringa come valore per il primo elemento quando avevamo menzionato che il primo elemento sarebbe un numero.

Allo stesso modo, non possiamo impostare il valore di un elemento di tuple su falso dopo aver specificato che contiene solo stringhe e numeri. Ecco perché l'ultima riga produce un errore.

Il tipo di dati Enum

Il tipo di dati enum è presente in molti linguaggi di programmazione come C e Java. Manca da JavaScript, ma TypeScript ti permette di creare e lavorare con enums. Se non sapete quali sono i enum, ti consentono di creare una raccolta di valori correlati usando nomi memorabili.

Per impostazione predefinita, la numerazione di enum inizia a 0, ma è anche possibile impostare un valore diverso per i primi o gli altri membri manualmente. Questo modificherà il valore di tutti i membri che li seguono aumentando il loro valore per 1. È inoltre possibile impostare manualmente tutti i valori in un enum.

A differenza dell'esempio precedente, il valore degli Animals[3] è undefined questa volta. Questo perché il valore 3 sarebbe stato assegnato al cane, ma abbiamo esplicitamente impostato il suo valore su 11. Il valore per le mucche rimane a 12 e non 3 in quanto il valore dovrebbe essere superiore al valore dell'ultimo membro.

I tipi Any e Never

Diciamo che stai scrivendo un programma dove il valore di una variabile è determinato dagli utenti o dal codice scritto in una libreria di terze parti. In questo caso, non sarà possibile impostare correttamente il tipo di tale variabile. La variabile potrebbe essere di qualsiasi tipo come una stringa, un numero o un booleano. Questo problema può essere risolto utilizzando il tipo any. Questo è utile anche quando si creano array con elementi di tipi misti.

Nel codice precedente abbiamo potuto assegnare un numero a b e modificarlo in una stringa senza ottenere alcun errore perché il tipo any può accettare tutti i tipi di valori.

Il tipo never viene utilizzato per rappresentare valori che non si prevedono mai. Ad esempio, è possibile assegnare never come tipo di ritorno di una funzione che non restituisce mai. Ciò può accadere quando una funzione genera sempre un errore o quando è bloccata in un ciclo infinito.

Pensieri finali

Questo tutorial ti ha presentato tutti i tipi disponibili in TypeScript. Abbiamo appreso come assegnare un tipo di valore diverso a una variabile mostrerà errori in TypeScript. Questo controllo può aiutare a evitare molti errori durante la scrittura di grandi programmi. Abbiamo anche imparato come individuare diverse versioni di JavaScript.

Se stai cercando risorse aggiuntive per studiare o utilizzare nel tuo lavoro, guarda cosa disponiamo nel marketplace di Envato.

Nel prossimo tutorial, imparerai le interfacce in TypeScript. Se hai domande relative a questo tutorial, fatemi sapere nei commenti.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.