0
Ero JavaScript funktioiden välillä

Olli Perikanta

Julkaistu 18.2.2024

Ero JavaScript funktion määrityksen ja funktion lausekkeen välillä

JavaScriptissä on kaksi yleistä tapaa määritellä funktioita: funktion määrittely (function declaration) ja funktion lauseke (function expression). Molemmissa lähestymistavoissa on omat ominaispiirteensä ja käyttötarkoituksensa.

Funktion määrittely on perinteinen tapa luoda funktio JavaScriptissä. Se tapahtuu käyttämällä function-avainsanaa jossa funktion nimi tulee heti sen perään.

// Funktion määrittely
function laskeSumma(a, b) {
  return a + b;
}

Yksi funktion määrittelyn eduista on se, että funktio nousee, eli se voidaan kutsua ennen sen määrittelyä koodissa. Tämä voi olla hyödyllistä tietyissä tilanteissa.

// Funktion kutsu ennen määrittelyä
laskeSumma(2, 3); // Palauttaa 5

// Funktion määrittely
function laskeSumma(a, b) {
  return a + b;
}

Funktion Lauseke on toinen tapa luoda funktio JavaScriptissä. Tässä tavassa funktio voidaan liittää muuttujaan ja se tapahtuu yleensä käyttämällä var, let tai const-avainsanoja.

// Funktion Lauseke
var kerro = function(a, b) {
  return a * b;
};

Funktion Lauseke ei nouse koodissa, mikä tarkoittaa, että sinun pitää määritellä se ennen kuin kutsut sitä.

// Tämä johtaa virheeseen
kerro(4, 5);

// Funktion Lauseke
var kerro = function(a, b) {
  return a * b;
};

Molemmilla tavoilla on omat vahvuutensa ja niiden valinta riippuu usein tilanteesta.

  • Käytä funktion määrittelyä, kun haluat funktion olevan käytettävissä koko tiedostossa ja kun ”nostamista” halutaan käyttää.
  • Käytä funktion Lauseketta, kun haluat määritellä funktion vain tietyssä kontekstissa. Esimerkiksi toisen funktion sisällä.
Senior Frontend kehittäjä, joka on erikoistunut WordPressin koodaamiseen ja räätälöityjen ratkaisujen tekemiseen.

Kommentit

Näyttää siltä, että sinulla on mahdollisuus olla ensimmäinen kommentoija! Jäikö jotain kysyttävää artikkelista tai haluatko antaa palautetta? Jätä kommentti ja aloita kekustelu.

Jätä kommentti

Kommenttikäytäntö: Kommentointi on tervetullutta ja arvostamme aikaa, jonka lukijat käyttävät ideoiden jakamiseen ja palautteen antamiseen. Kaikki kommentit kuitenkin valvotaan manuaalisesti ja roskapostiksi tai yksinomaan myynninedistämistarkoituksessa pidetyt kommentit poistetaan.