TypeScript Academy · Oppitunti

Valinnaiset ja oletusparametrit

Käsitelkää puuttuvat argumentit ?-merkin ja oletusarvojen avulla

Oppitunti 2/413 vaihetta

Valinnaiset ja oletusparametrit on ilmainen TypeScript Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. 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ä 4 oppituntia.

Tervetuloa

TypeScriptissä funktion parametrit voi merkitä valinnaisiksi merkillä `?` tai niille voi antaa oletusarvot. Näin rajapinnoista tulee joustavia ja ne säilyvät tyyppiturvallisina.

Valinnaiset parametrit merkillä ?

Lisätkää parametrin nimen jälkeen `?`, jotta parametrista tulee valinnainen. Funktion sisällä parametrin tyypiksi tulee T | undefined.
function greet(name: string, greeting?: string): string {
  return (greeting ?? 'Hello') + ', ' + name;
}

Parametrien oletusarvot

Määrittäkää oletusarvo merkillä `=`. TypeScript päättelee tyypin oletusarvosta, ja parametrista tulee kutsukohdassa valinnainen.
function greet(name: string, greeting: string = 'Hello'): string {
  return greeting + ', ' + name;
}
greet('Alice');         // 'Hello, Alice'
greet('Bob', 'Hi');    // 'Hi, Bob'

Valinnainen parametri ja oletusarvo

Valinnainen `?` tuottaa undefined-arvon, kun parametri jätetään pois. Oletusarvot korvaavat undefined-arvon varaarvolla. Molemmat tekevät parametrista kutsukohdassa valinnaisen.
function opt(x?: number) { return x; }     // x: number | undefined
function def(x: number = 0) { return x; }  // x: number

Sijoittelusäännöt

Valinnaisten ja oletusarvollisten parametrien on tultava funktiosignatuurissa pakollisten parametrien jälkeen.
// Correct order
function create(name: string, role: string = 'user', active?: boolean) {}

// Error: required after optional
// function bad(x?: string, y: string) {}

undefined-arvon välittäminen eksplisiittisesti

Voitte välittää parametrille `undefined`, jolloin oletusarvo otetaan käyttöön.
function log(msg: string, level: string = 'info') { console.log(level, msg); }
log('test', undefined); // level is 'info'

Valinnaiset parametrit ja ylikuormitukset

Joskus ylikuormitusten käyttäminen on selkeämpää kuin valinnaiset parametrit, etenkin silloin, kun funktion toiminta muuttuu merkittävästi parametrin olemassaolon perusteella.

Oletusarvolliset objekti-parametrit

Voitte hajottaa objekti-parametrin ja määrittää oletusarvon jokaiselle ominaisuudelle.
function connect({ host = 'localhost', port = 5432 } = {}) {
  return `${host}:${port}`;
}

Oletusarvolliset taulukko-parametrit

Oletusarvolliset taulukko-parametrit toimivat samalla tavalla. Antakaa oletusarvoksi tyhjä taulukko, jotta undefined-tarkistuksia ei tarvita.
function joinAll(parts: string[], sep: string = ', '): string {
  return parts.join(sep);
}

Valinnainen ketjutus kutsukohdissa

Jos funktioviite itsessään on valinnainen, käyttäkää valinnaista ketjutusta `?.()` kutsuaksenne sitä vain, kun se on olemassa.
interface Config { onReady?: () => void; }
function init(config: Config) {
  config.onReady?.();
}

Valinnaisten parametrien tyyppi funktion sisällä

Funktion sisällä valinnaisen parametrin `x?: T` tyyppi on `T | undefined`. Parametri on kavennettava ennen kuin sitä käytetään T-tyyppisenä.
function process(id?: number) {
  if (id === undefined) return;
  console.log(id * 2); // id is number here
}

Pikatesti

Mikä on funktion rungossa parametrin `count?: number` tyyppi?

Kertaus

Käyttäkää `?`-merkkiä valinnaisille parametreille ja `= value` -merkintää oletusarvoille. Valinnaisten parametrien tyyppi on funktion sisällä T | undefined. Oletusarvot korvaavat undefined-arvon automaattisesti. Molempien on tultava pakollisten parametrien jälkeen.
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 ”Valinnaiset ja oletusparametrit” ilmainen?

Kyllä – oppitunnin ”Valinnaiset ja oletusparametrit” 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ä 4 oppituntia.

Mitä opin oppitunnilla ”Valinnaiset ja oletusparametrit”?

Käsitelkää puuttuvat argumentit ?-merkin ja oletusarvojen avulla 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/4.

Kuinka kauan ”Valinnaiset ja oletusparametrit”-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. Parametrien ja paluuarvojen tyyppimerkinnät
  2. Valinnaiset ja oletusparametrit
  3. Rest-parametrit ja spread tyypeillä
  4. void, never ja funktioiden allekirjoitukset
← Takaisin: TypeScript Academy