Amióta a C++ programozási nyelvben is elkezdtem komolyabban programozni (osztályokat és templateket is használva) mániámmá vált az olyan függvények írása, ahol egy paraméter megadása nem kötelező. Ha a paraméter meg van adva, akkor a függvény egyféleképpen működik, ha meg nincs akkor másképp. Ez C++ban nem is volt nehéz, mert a függvény írásakor a kihagyható paramétert egyenlővé tettem egy értékkel, aztán meg csak vizsgálni kellett a változó értékét.
Ugyanezt szerettem volna Javascriptben is eljátszani, azonban nem sok sikerrel jártam. Mivel a Javascript szintaxisa nagyon hasonlít a C++éra, logikusnak találtam, hogy ugyanúgy próbáljam, mint korábban. Kudarc. Csak kb. két hosszú óra elteltével leltem rá a megoldásra:
function myfunction(param, param_nk) //param_nk a nem kötelezző paraméter
{
// ellenőrizzük, hogy param_nk meg volt adva, vagy nem
if (typeof param_nk == 'undefined')
{
//utasítások
}
else
{
//utasítások
}
//utasítások
}
Na így már megy. Ha nem adjuk meg a második paramétert, akkor az if utasítás első ágán levő parancsok fognak lefutni, itt állíthatjuk be az alapértelmezett értélet. Ha a paraméternek értéket adtunk a függvényhíváskor, akkor a második, az else ág fog lefutni.
Szerző: László Gazsi
Szabadúszó frontend fejlesztő. Honlapom: Freelance Software Developer.