Typning af this-parameteren; void, never
Typ den særlige this-parameter, forstå leksikalsk this med pilfunktioner, og lær, hvornår der skal returneres void eller never.
Typning af this-parameteren; void, never er en gratis TypeScript Academy-lektion på CoddyKit. Dette er lektion 2 af 3. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i TypeScript Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. TypeScript Academy-kurset indeholder 3 lektioner i alt.
Introduktion
Mål: Typbestem den særlige this-parameter, forstå hvordan pilefunktioner indfanger this leksikalsk, og vælg mellem void (ingen værdi) og never (ingen returværdi).
Typning af this-parameteren
Tilføj en indledende parameter med navnet this for at angive den forventede modtager. Den er ikke et rigtigt argument og gælder kun for funktioner, der ikke er pilefunktioner.
function setTitle(this: { title: string }, t: string): void {
this.title = t;
}
const model = { title: "Old" };
setTitle.call(model, "New");
console.log(model.title);Pilefunktioner og leksikalsk this
Pilefunktioner indfanger this fra det omgivende område; de kan ikke erklære en this-parameter.
const counter = {
n: 0,
tick: function () {
setTimeout(() => {
// Arrow keeps outer this (counter)
this.n++;
console.log(this.n);
}, 0);
},
};
counter.tick();Returtypen void
void betyder, at funktionen ikke returnerer en meningsfuld værdi. Kaldere bør ikke bruge resultatet.
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 voidReturtypen never
never angiver, at funktionen ikke returnerer (den kaster en fejl eller kører i en uendelig løkke). Det er nyttigt til udtømmende kontroller og umulige kodeveje.
function fail(message: string): never {
throw new Error(message);
}
function loopForever(): never {
while (true) {}
}
// Calling either function never returnsBedste praksis
Råd:
- Brug kun this-parameteren i funktioner, der ikke er pilefunktioner, og som afhænger af en modtager.
- Foretræk pilefunktioner som tilbagekald for at undgå at miste this.
- Angiv void for funktioner med bivirkninger; brug never til kast, løkker eller udtømmende værn.
Kontrol af this-parameteren
Hurtig kontrol: Hvilket udsagn om parameteren “this” er SANDT?
Opsamling
Opsamling: Typbestem modtageren med en this-parameter i funktioner, der ikke er pilefunktioner, stol på pilefunktioner for leksikalsk this, og brug void og never korrekt.
Lær TypeScript med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 101
- Lektioner
- 352
Ofte stillede spørgsmål
Er lektionen “Typning af this-parameteren; void, never” gratis?
Ja — hele teksten til “Typning af this-parameteren; void, never” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af TypeScript Academy-kurset, skal du opgradere til CoddyKit PRO. TypeScript Academy-kurset indeholder 3 lektioner i alt.
Hvad lærer jeg i “Typning af this-parameteren; void, never”?
Typ den særlige this-parameter, forstå leksikalsk this med pilfunktioner, og lær, hvornår der skal returneres void eller never. Du øver dig i TypeScript Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på TypeScript Academy?
Der kræves ingen tidligere erfaring. TypeScript Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 3.
Hvor lang tid tager lektionen “Typning af this-parameteren; void, never”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne TypeScript Academy-lektion?
Ja. Alle TypeScript Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Funktionsoverloads og kaldsignaturer
- Typning af this-parameteren; void, never
- Assertionsfunktioner og brugerdefinerede type guards