Funktsioonide valikulised parameetrid TypeScriptis

On võimalik teha nii, et funktsioon võtab muutuva arvu parameetreid. Selleks tuleb osa parameetreid (või kõik) teha valikulisteks.

Et näidata, et parameeter on valikuline, tuleb selle nime järel panna küsimärk.

Teeme oma funktsioonis perekonnanime valikuliseks parameetriks:

typescriptfunction func(first: string, last?: string) {
  return first + ' ' + last;
}

Kui funktsiooni väljakutsel valikulist parameetrit ei anta, saab see väärtuseks undefined. Muudame oma funktsiooni seda arvesse võttes:

typescriptfunction func(first: string, last?: string) {
  if (last !== undefined) {
    return first + ' ' + last;
  } else {
    return first;
  }
}

Saab lihtsustada, kasutades lühikest kontrollivormi:

typescriptfunction func(first: string, last?: string) {
  if (last) {
    return first + ' ' + last;
  } else {
    return first;
  }
}

Kasutame nüüd oma funktsiooni. Kutsume seda välja kahe parameetriga:

typescriptfunc('john', 'smit'); // tagastab 'john smit'

Kutsume seda välja ühe parameetriga:

typescriptfunc('john'); // tagastab 'john'
Задание 1

Tehke funktsioon, mis võtab parameetritena päeva, kuu ja aasta, ning tagastab nädalapäeva, mis vastab sellele kuupäevale. Olgu kõik kolm parameetrit valikulised. Kui mõnda parameetrit ei edastata, peaks see võtma praegusele kuupäevale vastava väärtuse.