Fonksiyonlara varana kadar öğrenmen gereken birden fazla konsept var. Bu konseptlerin neredeyse hepsini atlamışsın. Dolayısıyla anlamakta güçlük çekiyorsun.
Dtarih dışarıda tanımlanmış olsa bile, fonksiyonun bundan haberi yok. Bu dtarih adlı değişken farklı bir dosyadan da gelebilirdi. Bu sebepten kaynaklı, doğum yılı değişkeni var.
Fonksiyon alt bir scope. Fonksiyon içerisinde tanımladığın hiç bir şeyi dışarıda kullanamazsın. Fakat içindeki şeyleri, başka bir alanda kullanmak için dışarıya çıkarabilirsin. return anahtar kelimesi bu işe yarıyor.
Matematikte ki fonksiyonlarla benzer bir mantığa sahip programlama fonksiyonları. Çıkış noktaları da aynı zaten.
f(x) = 2024 - x; dediğin zaman matematiksel bir fonksiyon tanımlamış olursun. f(1992) dediğinde x gördüğün yere 1992 yazacaksın. f(1992)=32'dir. Aynı mantıkla f ve x yerine yashesapla(dogumyili) oluyor. Şimdi f = dediğimizde ki '=' ise bu return key wordü işte.
const sonuç = yashesapla(dtarih); ise y = f(1992) matematiksel ifadesinden farksız. Fonksiyondan gelecek sonucu kullanabilmek adına bir şeye atıyorsun. (Not: const anahtar kelimesi, constant kelimesinin kısaltmasıdır. Sabit anlamına gelir. Bu anahtar kelimeyle oluşturulan değerler sabittir, değiştirilemezler.)