Cityscape
Girl

JavaScript

Nimetyt vs. Nimettömät Funktiot

Helppo
25 min

Mikä on nimetty funktio?

Nimetty funktio on funktio, jolla on... no, nimi. Määrittelet funktion ja voit viitata siihen sen nimen avulla aina tarvittaessa. Esimerkiksi:

function numeroOnParillinen(num) {
  return num % 2 === 0;
}

let numerot = [3, 7, 8, 11];
let ekaParillinen = numerot.find(numeroOnParillinen);
console.log(ekaParillinen);  // tulostaa 8

Tässä funktio numeroOnParillinen määritellään kerran ja sitten se annetaan argumenttina find() -metodille.

Mikä on sitten nimetön funktio?

Nimetön funktio määritellään ilman nimeä.Erillisen funktiomäärittelyn sijaan kirjoitat funktion suoraan sinne, missä sitä tarvitset. Tämä on yleistä, kun tarvitset funktiota vain kerran. Esimerkiksi:

let numerot = [3, 7, 8, 11];
let ensimmäinenParillinen = numerot.find(function(num) {
  return num % 2 === 0;
});
console.log(ensimmäinenParillinen);  // tulostaa 8

Tämä esimerkki voi näyttää vähän pelottavalta, kauheasti sulkuja ja kauheasti tapahtuu yhdellä koodirivillä. Mutta ei siinä ole mitään mitä et olisi nähnyt jo aiemmin, funktio kirjoitetaan nyt vaan suoraan find() -metodikutsun sisälle sen sijaan että se olisi määritelty aiemmin ja tallennettu muuttujaan. Koska sitä ei tarvitse nimetä (koska et kutsu sitä muualla vaan se on tavallaan kertakäyttöinen), sitä kutsutaan nimettömäksi funktioksi.

Kumpaa käyttää ja milloin?

Nimettyjä funktioita

  • Selkeä ja uudelleenkäytettävä silloin, kun tarvitset saman logiikan useissa paikoissa.

Nimettömiä funktioita

  • Ytimekkäämpi, erityisesti kun funktiota käytetään vain kerran. Varsinkin kun siirrytään käyttämään nuoli (arrow) notaatiota, jonka opit tulevassa moduulissa.

Tehtävät

Käytä nimettyä funktiota elementin etsimiseen

  • Luo taulukko nimeltä numbers arvoilla [1, 3, 5, 6, 7] käyttäen let.
  • Kirjoita nimetty funktio nimeltä isEven, joka ottaa numeron ja palauttaa true, jos numero on parillinen.
  • Käytä numbers.find() isEven-funktiolla löytääksesi ensimmäisen parillisen numeron ja tallenna se muuttujaan firstEven.
  • Tulosta tulos käyttäen console.log.

Käytä nimetöntä funktiota

  • Käyttämällä samoja taulukon numeroita edellisestä tehtävästä, käytä nimetöntä funktiota numbers.find()-funktion kanssa etsiäksesi ensimmäisen parillisen numeron ja tallentaaksesi sen muuttujaan nimeltä firstEven.
  • Tulosta firstEven arvo console.log()-funktiolla.

hakatemia pro

Valmis ryhtymään eettiseksi hakkeriksi?
Aloita jo tänään.

Hakatemian jäsenenä saat rajoittamattoman pääsyn Hakatemian moduuleihin, harjoituksiin ja työkaluihin, sekä pääset discord-kanavalle jossa voit pyytää apua sekä ohjaajilta että muilta Hakatemian jäseniltä.