Ok fonksiyonları
Fonksiyon bildirmeyi, argüman vermeyi ve return ile değer göndermeyi biliyorsunuz. Günlük birçok yardımcı o kadar kısa ki tam function sözcüğü ağır geliyor. JavaScript bunları bir ok ile — => jetonu — daha sıkı bir satırda da yazmanıza izin verir.
Ok fonksiyonu nedir
Hâlâ bir fonksiyondur: girdi alır, gövde çalıştırır, sonuç döndürebilir. Sadece biçim değişir. Genelde const ile adlanır, parametreler yazılır, => gelir, sonra kısa bir ifade veya { } bloğu.
Klasik fonksiyonun yanında ok
📊 Klasik fonksiyon ve ok
| Fikir | Klasik biçim | Ok biçimi |
|---|---|---|
| adlı yardımcı | function add(a, b) { return a + b; } |
const add = (a, b) => a + b; |
| tek ifade döndürme | { } içinde return a + b; |
=> sonrası ifade kendi döner |
| birden çok deyim | { } artı return |
aynı kural: { } ve return |
| tek parametre | (name) |
name => ... (parantez isteğe bağlı) |
| parametresiz | function hi() { ... } |
const hi = () => ... — boş () zorunlu |
| nerede yaşar | bildirim veya ifade | neredeyse her zaman değişkende |
Her iki biçim sayı ve metin döndürebilir. Yardımcı küçükse ve net bir const adı istiyorsanız ok daha rahattır. Adlı bir bloğun öne çıkmasını istiyorsanız klasik function de tamamen doğrudur.
const double = (n) => n * 2;
let answer = double(5);
console.log(answer);
İfade gövdesi kendi döner
=> sonrasında tek bir ifade varsa değerlendirilir ve kendiliğinden çağırana gider — ne { } ne return sözcüğü gerekir. Burada double(5) değeri 10 olur. Argümanı değiştirin; çarpım onu izler.
const label = (score) => {
if (score < 0) {
return "invalid";
}
return "ok";
};
console.log(label(-1));
console.log(label(8));
Süslü ayraç: return’ü siz yazarsınız
Gövde { } kullanıyorsa JavaScript son satırı kendiliğinden döndürmez. Klasik fonksiyonda olduğu gibi return yazın. Erken çıkış ve çok adımlı mantık böyle okunaklı kalır.
const greet = name => "Hello, " + name;
let line = greet("Sara");
console.log(line);
Tek parametrede parantez düşebilir
Tam bir parametre varsa name => ... biçimini ( ) olmadan yazabilirsiniz. Çağrı yeri değişmez: greet("Sara"). İki veya daha çok parametrede parantez kalsın.
const hello = () => "Hello";
console.log(hello());
Sıfır parametre yine () ister
Girdi yoksa => öncesine boş parantez yazın. Atlamak sözdizimi hatasıdır. Çağrı yine hello() — boş çift «parametre yok» demektir.
const add = (a, b) => a + b;
let total = add(3, 4);
console.log(total);
console.log(add(10, 2));
Ad verin, sonra çağırın
const add = (a, b) => a + b oku add altında saklar. Herhangi bir fonksiyon gibi çağırırsınız: add(3, 4) sonucu 7 verir. Aynı yardımcı, iki çağrı — gövdeyi yeniden yazmazsınız.
Oku sayfaya koyun
Ok ile bir karşılama metni kurun, çağırın, sonucu paragrafa yazın — aynı sayfa kalıbı, daha kısa biçim.
<!DOCTYPE html>
<html>
<head>
<title>arrow — page</title>
</head>
<body>
<p id="msg">…</p>
<script>
const welcome = guest => "Hello, " + guest;
let box = document.getElementById("msg");
box.textContent = welcome("Omar");
</script>
</body>
</html>
Paragraf Hello, Omar gösterir. Ok metni döndürdü; sonraki satır sayfaya koydu. Yalnızca argümanı değiştirin, yenileyin, yeni satırı okuyun. Sonraki ders kapsam — o adların nerede göründüğü.
Alıştırma adımları
function triple(n) { return n * 3; }ifadesini ifade gövdeliconstoka çevirin.const hi = name => "hi " + nameyazın vehi("Neda")yazdırın.const ping = () => "pong"yazın ve bir kez çağırın.n === 0ise"zero", değilse"nonzero"döndüren blok gövdeli bir ok yazın.const add = (a, b) => a + bsonrasıadd(6, 1)sonucunun7olduğunu doğrulayın.- HTML demoda yalnızca argüman metnini değiştirin, yenileyin, paragrafı okuyun.
Sık düşülen hatalar
=>sonrası{ }açıpreturnunutmak — çağrıundefinedverir- Sıfır parametre varken
()kaldırmak =>ile karşılaştırma işleçlerini karıştırmak — ok fonksiyon sözdizimidir, «büyük» değildir- Burada tam bir
thisdersi beklemek — bağlama farkları sonraki sayfada; burada sıkı biçim - Okların
returnbilgisini gereksiz kıldığını sanmak — ifadeler hâlâ döner; bloklar hâlâreturnister
Özet
- Ok fonksiyonları
=>kullanır ve geneldeconstiçinde durur =>sonrası çıplak ifade kendiliğinden döner{ }gövde açıkreturnister- Tek parametre
( )atabilir; sıfır parametre boş()ister - Adıyla çağırın, başka herhangi bir fonksiyon gibi
- Sayfa güncellemesi okun döndürdüğü metni kullanabilir
- Sonraki: kapsam — adlar nerede yaşar
🧠 Bilginizi Test Edin
Bilginizi Test Edin
Bu interaktif sınavla kendini test et ve konuyu ne kadar iyi anladığını gör
📝 Talimatlar
- Her soruyu dikkatle okuyun
- Her soru için en iyi cevabı seçin
- Quiz'i istediğiniz kadar tekrar alabilirsiniz
- İlerlemeniz üstte gösterilecek