0Pricing
TypeScript Academy · Lezione

Tipizzazione del parametro this; void e never

Tipizzi lo speciale parametro this, comprenda il comportamento lessicale di this nelle funzioni freccia e apprenda quando restituire void invece di never.

Tipizzazione del parametro this; void e never è una lezione TypeScript Academy gratuita su CoddyKit. Questa è la lezione 2 di 3. 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 3 lezioni in totale.

Introduzione

Obiettivo: tipizzare il parametro speciale this, comprendere come le arrow catturano this lessicalmente e scegliere tra void (nessun valore) e never (nessun ritorno).

Tipizzazione del parametro this

Aggiunga un parametro iniziale denominato this per tipizzare il ricevitore previsto. Non è un argomento reale e si applica solo alle funzioni non arrow.

function setTitle(this: { title: string }, t: string): void {
  this.title = t;
}

const model = { title: "Old" };
setTitle.call(model, "New");
console.log(model.title);

Arrow e this lessicale

Le funzioni arrow catturano il this dell'ambito circostante; non possono dichiarare un parametro this.

const counter = {
  n: 0,
  tick: function () {
    setTimeout(() => {
      // Arrow keeps outer this (counter)
      this.n++;
      console.log(this.n);
    }, 0);
  },
};

counter.tick();

Restituzione void

void significa che la funzione non restituisce un valore significativo. Chi effettua la chiamata non dovrebbe utilizzarne il risultato.

function logMsg(msg: string): void {
  console.log(msg);
}

const r = logMsg("hello"); // r is void (ignored)
// Returning a value here would error when annotated as void

Restituzione never

never indica che la funzione non restituisce il controllo (lancia un'eccezione o esegue un ciclo infinito). È utile per i controlli esaustivi e per i percorsi di codice impossibili.

function fail(message: string): never {
  throw new Error(message);
}

function loopForever(): never {
  while (true) {}
}

// Calling either function never returns

Buone pratiche

Suggerimenti:

  • Utilizzi il parametro this solo nelle funzioni non arrow che dipendono da un ricevitore.
  • Preferisca i callback arrow per evitare di perdere this.
  • Annoti void per le funzioni con effetti collaterali; utilizzi never per eccezioni/cicli o guardie esaustive.

Verifica del parametro this

Verifica rapida: quale affermazione sul parametro “this” è VERA?

Riepilogo

Riepilogo: tipizzi il ricevitore con un parametro this nelle funzioni non arrow, si affidi alle arrow per il this lessicale e utilizzi void e never in modo appropriato.

Domande Frequenti

La lezione «Tipizzazione del parametro this; void e never» è gratuita?

Sì — il testo completo di «Tipizzazione del parametro this; void e never» è 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 3 lezioni in totale.

Cosa imparerò in «Tipizzazione del parametro this; void e never»?

Tipizzi lo speciale parametro this, comprenda il comportamento lessicale di this nelle funzioni freccia e apprenda quando restituire void invece di never. 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 2 di 3.

Quanto tempo richiede la lezione «Tipizzazione del parametro this; void e never»?

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. Overload delle funzioni e firme di chiamata
  2. Tipizzazione del parametro this; void e never
  3. Funzioni di asserzione e guardie di tipo definite dall’utente
← Torna a TypeScript Academy