TypeScript Academy · Oppitunti

this-parametrin tyypitys; void ja never

Tyypittäkää erityinen this-parametri, ymmärtäkää nuolifunktioiden leksikaalinen this ja opetelkaa, milloin palautetaan void ja milloin never.

Oppitunti 2/38 vaihetta

this-parametrin tyypitys; void ja never on ilmainen TypeScript Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/3. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu TypeScript Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. TypeScript Academy-kurssilla on yhteensä 3 oppituntia.

Johdanto

Tavoite: Tyypittäkää erityinen this-parametri, ymmärtäkää, miten nuolet sieppaavat this-arvon leksikaalisesti, ja valitkaa void-tyypin (ei arvoa) ja never-tyypin (ei paluuta) välillä.

this-parametrin tyypitys

Lisätkää ensimmäiseksi parametriksi nimeltään this parametri, joka määrittää odotetun vastaanottajan tyypin. Se ei ole todellinen argumentti, ja sitä käytetään vain muissa kuin nuolifunktioissa.

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

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

Nuolet ja leksikaalinen this

Nuolifunktiot sieppaavat ympäröivän lohkon this-arvon leksikaalisesti. Niissä ei voi ilmoittaa this-parametria.

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

counter.tick();

void-paluuarvo

void tarkoittaa, ettei funktio palauta merkityksellistä arvoa. Kutsujien ei pidä käyttää sen tulosta.

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

never-paluuarvo

never ilmaisee, ettei funktio palaa: se joko heittää poikkeuksen tai sisältää loputtoman silmukan. Se on hyödyllinen kaikkien tapausten tarkistuksissa ja mahdottomissa koodipoluissa.

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

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

// Calling either function never returns

Parhaat käytännöt

Vinkit:

  • Käyttäkää this-parametria vain muissa kuin nuolifunktioissa, jotka riippuvat vastaanottajasta.
  • Suosikaa nuoli-takaisinkutsuja, jotta this ei katoa.
  • Merkitkää sivuvaikutuksia tuottavat funktiot tyypillä void ja käyttäkää tyyppiä never poikkeuksen heittäviin tai silmukoiviin funktioihin sekä kaikkien tapausten tarkistuksiin.

this-parametrin tarkistus

Pikatarkistus: Mikä väite “this”-parametrista on TOSI?

Kertaus

Kertaus: Tyypittäkää vastaanottaja this-parametrilla muissa kuin nuolifunktioissa, luottakaa nuolifunktioihin leksikaalisen this-arvon säilyttämiseksi ja käyttäkää tyyppejä void ja never tarkoituksenmukaisesti.

Aloita maksutta

Opi TypeScript tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
101
Oppitunnit
352

Usein kysytyt kysymykset

Onko oppitunti ”this-parametrin tyypitys; void ja never” ilmainen?

Kyllä – oppitunnin ”this-parametrin tyypitys; void ja never” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko TypeScript Academy-kurssin, päivitä CoddyKit PROhon. TypeScript Academy-kurssilla on yhteensä 3 oppituntia.

Mitä opin oppitunnilla ”this-parametrin tyypitys; void ja never”?

Tyypittäkää erityinen this-parametri, ymmärtäkää nuolifunktioiden leksikaalinen this ja opetelkaa, milloin palautetaan void ja milloin never. Harjoittelet TypeScript Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni TypeScript Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin TypeScript Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/3.

Kuinka kauan ”this-parametrin tyypitys; void ja never”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä TypeScript Academy-oppitunnilla?

Kyllä. Jokainen TypeScript Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Funktioylikuormitukset ja kutsumäärittelyt
  2. this-parametrin tyypitys; void ja never
  3. Väitefunktiot ja käyttäjän määrittämät tyyppivartijat
← Takaisin: TypeScript Academy