TypeScript Academy · Lezione

Il flag strict e ciò che abilita

Comprenda strictNullChecks, noImplicitAny e altri flag.

Lezione 1 di 413 passaggi

Il flag strict e ciò che abilita è una lezione TypeScript Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento TypeScript Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso TypeScript Academy include 4 lezioni in totale.

Benvenuto

Il flag strict in tsconfig abilita un insieme di opzioni per controlli dei tipi più rigorosi. Comprendere il ruolo di ciascuna opzione aiuta a configurare TypeScript per ottenere la massima sicurezza.

Che cosa abilita strict

strict: true abilita contemporaneamente diversi sotto-flag.
// strict enables:
// strictNullChecks, noImplicitAny, strictFunctionTypes,
// strictBindCallApply, strictPropertyInitialization,
// noImplicitThis, useUnknownInCatchVariables, alwaysStrict

strictNullChecks

Impedisce di assegnare null/undefined a tipi che non ammettono valori null.
// Without: let s: string = null; // OK
// With: let s: string = null; // Error

noImplicitAny

Richiede annotazioni di tipo esplicite nei casi in cui TypeScript inferirebbe any.
// Without: function fn(x) {} // x: any
// With: // Error: Parameter has implicit any type

strictFunctionTypes

Impone la controvarianza per i tipi dei parametri delle funzioni.
type Fn = (x: string | number) => void;
const fn: Fn = (x: string) => {}; // Error with strict

strictPropertyInitialization

Le proprietà devono essere inizializzate nel costruttore oppure contrassegnate con !.
class C {
  name: string; // Error — not initialized
  // name!: string; // OK — known to be set later
  constructor() { this.name = 'Alice'; } // OK
}

noImplicitThis

Impedisce di usare this con il tipo any, ad esempio nelle funzioni che non appartengono a una classe.

alwaysStrict

Emette use strict in ogni file di output.

strictBindCallApply

Impone i tipi corretti per bind, call e apply sulle funzioni.
function add(a: number, b: number): number { return a + b; }
add.call(null, 1, '2'); // Error with strict

Abilitare strict gradualmente

Aggiunga i sotto-flag strict uno alla volta durante la migrazione di una codebase di grandi dimensioni.
{ "compilerOptions": { "strictNullChecks": true, "noImplicitAny": true } }

strict nei nuovi progetti

Inizi sempre i nuovi progetti con strict: true. Aggiungerlo in un secondo momento è molto più difficile.

Verifica rapida

Quale sotto-flag di strict impedisce di assegnare null a una variabile string?

Riepilogo

Il flag strict e le opzioni che abilita: ha acquisito i concetti e i pattern chiave.
Gratis per iniziare

Impara TypeScript con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
101
Lezioni
352

Domande Frequenti

La lezione «Il flag strict e ciò che abilita» è gratuita?

Sì — il testo completo di «Il flag strict e ciò che abilita» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso TypeScript Academy, passa a CoddyKit PRO. Il corso TypeScript Academy include 4 lezioni in totale.

Cosa imparerò in «Il flag strict e ciò che abilita»?

Comprenda strictNullChecks, noImplicitAny e altri flag. Eserciti TypeScript Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare TypeScript Academy?

Non è richiesta alcuna esperienza precedente. TypeScript Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Il flag strict e ciò che abilita»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione TypeScript Academy?

Sì. Ogni lezione TypeScript Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Il flag strict e ciò che abilita
  2. Configurazione di moduli e target
  3. Alias dei percorsi e baseUrl
  4. Build incrementali e file di dichiarazione
← Torna a TypeScript Academy