TypeScript in 2 minuti: Guida Express al Typing Intelligente

TypeScript in 2 minuti: Guida Express al Typing Intelligente

Sei uno sviluppatore JavaScript e cerchi di rendere più sicuro il tuo codice? Benvenuto in questa guida express di TypeScript, il superset di JavaScript che rivoluzionerà il tuo modo di programmare!

🎯 Perché TypeScript?

TypeScript non è solo un semplice strumento di typing - è il tuo migliore alleato per:

  • Rilevare gli errori prima dell'esecuzione
  • Migliorare la manutenibilità del codice
  • Beneficiare di un eccellente autocompletamento
  • Facilitare il lavoro in team

🔑 I Tipi Fondamentali

Ecco i tipi che userai quotidianamente:

typescript
1// Tipi primitivi
2const nome: string = 'Alice';
3const eta: number = 25;
4const eSviluppatore: boolean = true;
5
6// Array
7const competenze: string[] = ['TypeScript', 'React', 'Node.js'];
8
9// Oggetti tipizzati
10interface Sviluppatore {
11 nome: string;
12 eta: number;
13 competenze: string[];
14}
15
16const dev: Sviluppatore = {
17 nome: 'Alice',
18 eta: 25,
19 competenze: ['TypeScript', 'React', 'Node.js'],
20};

🛡️ TypeScript in Azione

1. Funzioni con Tipi

typescript
1// Funzione tipizzata con parametri e ritorno
2function calcolareStipendio(tarifaOraria: number, ore: number = 35): number {
3 return tarifaOraria * ore;
4}
5
6// Arrow function con tipo
7const salutare = (nome: string): string => `Ciao ${nome}!`;

2. Tipi Avanzati

typescript
1// Union Types
2type StatoProgetto = 'IN_CORSO' | 'COMPLETATO' | 'IN_PAUSA';
3let stato: StatoProgetto = 'IN_CORSO';
4
5// Tipi Generici
6interface Risposta<T> {
7 data: T;
8 status: number;
9}
10
11const rispostaAPI: Risposta<Sviluppatore> = {
12 data: dev,
13 status: 200,
14};

3. Null Safety con Optional Chaining

typescript
1interface Progetto {
2 cliente?: {
3 nome?: string;
4 };
5}
6
7const progetto: Progetto = {};
8const nomeCliente = progetto.cliente?.nome ?? 'Cliente Anonimo';

🚀 Consigli Pro

Type Guards per una Maggiore Sicurezza

typescript
1interface Admin {
2 ruolo: 'admin';
3 permessi: string[];
4}
5
6interface Utente {
7 ruolo: 'user';
8 livello: number;
9}
10
11function gestireUtente(persona: Admin | Utente) {
12 if (persona.ruolo === 'admin') {
13 console.log(persona.permessi); // TypeScript sa che è un Admin
14 } else {
15 console.log(persona.livello); // TypeScript sa che è un Utente
16 }
17}

Utility Types Essenziali

typescript
1// Partial - Rende tutte le proprietà opzionali
2type DevParziale = Partial<Sviluppatore>;
3
4// Pick - Seleziona alcune proprietà
5type DevBase = Pick<Sviluppatore, 'nome' | 'eta'>;
6
7// Omit - Esclude alcune proprietà
8type DevSenzaCompetenze = Omit<Sviluppatore, 'competenze'>;

🎓 Per Approfondire

  • Usa strict: true nel tuo tsconfig.json
  • Installa estensioni VS Code per TypeScript
  • Pratica con progetti reali
  • Esplora i tipi generici avanzati

🏁 Conclusione

TypeScript non è solo un altro strumento - è un investimento nella qualità del tuo codice. In pochi minuti, hai scoperto le basi che ti permetteranno di programmare con più serenità. Pronto a trasformare il tuo JavaScript in TypeScript? Si parte! 🚀


Non esitare a condividere questo articolo se l'hai trovato utile! A presto per altri consigli di sviluppo! 👋

Condividi questo articolo


Sébastien Timoner

Sébastien TIMONER

Lead Developer
Esperto in Sviluppo su Misura
Aix-en-Provence, France

Esperto nello sviluppo web e nella gestione di team tecnici, mi specializzo nella creazione e ottimizzazione di soluzioni digitali performanti. Grazie a una profonda padronanza di tecnologie moderne come React.js, Node.js, TypeScript e Symfony, garantisco il successo di progetti SaaS complessi, dalla progettazione alla messa in produzione, per aziende di diversi settori, all'interno di offroadLabs.

In offroadLabs, offro servizi di sviluppo su misura, combinando competenza tecnica e approccio collaborativo. Che si tratti di creare una soluzione SaaS innovativa, modernizzare un'applicazione esistente o accompagnare la crescita professionale di un team, mi impegno a fornire soluzioni robuste e performanti, adattate alle esigenze specifiche di ogni progetto.

Sono disponibile per incarichi intorno ad Aix-en-Provence o in full remote.