3.1 Funksiya elan edilməsi
Funksiyalar JavaScript-də əsas tikinti bloklarından biridir. Onlar koda struktur verməyə, təkrar istifadə olunan məntiqi təkrarlamağa və daha mürəkkəb strukturlar yaratmağa imkan verir. Gəlin funksiyaların elan edilməsi və istifadəsinin üç əsas yolunu nəzərdən keçirək: funksiya elanları, funksiya ifadələri və ox-funksiyalar.
Funksiya elanı — bu, ad verilmiş funksiyanın yaradılması üsuludur ki, onu sonra çağırmaq mümkün olur. Belə funksiyalar öz "əhatə dairəsinin" (scope) yuxarısına "qaldırılır" (hoisted), bu da onların kodda elan edilməmişdən əvvəl çağırılmasına imkan verir.
Sintaksis:
function name (arguments) {
// function body
}
İstifadə nümunəsi:
// Funksiya elanı
function greet(name) {
return `Salam, ${name}!`;
}
// Funksiyanı çağırmaq
console.log(greet('Alice')); // Çıxışda göstəriləcək: Salam, Alice!
3.2 Funksiya ifadələri
Funksiya ifadələri anonim funksiyalar (adsız funksiyalar) yaradır və onları dəyişənə təyin etmək olar. Belə funksiyalar "yüksəlmir", ona görə də onları yalnız elan edildikdən sonra çağırmaq olar.
Sinxron:
const name = function (arguments) {
// function body
}
İstifadə nümunəsi:
// Funksiya ifadəsi
const greet = function(name) {
return `Salam, ${name}!`;
};
// Funksiyanı çağırma
console.log(greet('Bob')); // Çap edəcək: Salam, Bob!
3.3 Ox funksiyaları
Ox funksiyaları (arrow functions) — funksiyaları bəyan etməyin qısa yoludur, həmçinin valideyn mühitdən this
kontekstini saxlayır. Ox funksiyalarının özünəməxsus this
-i yoxdur, bu səbəblə onlar xüsusilə hadisə emalçıları və massiv metodlarında faydalıdır.
Sintaksis:
const name = (arguments) => {
// function body
}
Əgər funksiya bir parametr qəbul edirsə, dəyirmi mötərizəni buraxmaq olar. Əgər funksiya bir ifadə qaytarırsa, fiqurlu mötərizələri və return
açar sözünü buraxmaq olar.
Nümunə 1: Tam yazılış
// Ox funksiyası
const greet = (name) => {
return `Salam, ${name}!`;
};
// Funksiyanı çağırırıq
console.log(greet('Charlie')); // Çıxış: Salam, Charlie!
Nümunə 2: Qısa yazılış
// Bir parametr və bir ifadə ilə ox funksiyası
const greet = name => `Salam, ${name}!`;
// Funksiyanı çağırırıq
console.log(greet('Dana')); // Çıxış: Salam, Dana!
3.4 Funksiyaların elan olunma üsullarının müqayisəsi
Hoisting (qaldırma):
- Funksiyanın bəyan edilməsi: funksiyalar qaldırılır, bu da onların bəyan etmədən əvvəl çağırılmasına imkan verir
- Funksiya ifadələri və Ox funksiyaları: qaldırılmır, onları yalnız bəyan etdikdən sonra çağırmaq olar
Bu (this) konteksti:
- Funksiyanın bəyan edilməsi və Funksiya ifadələri: öz this kontekstinə malikdir
- Ox funksiyaları: öz this kontekstinə malik deyil, kontekst yuxarı səviyyədən irsən götürülür
Yazı rahatlığı:
- Ox funksiyaları: daha qısa və tez-tez qısa funksiyalar və callback-lər üçün istifadə olunur
GO TO FULL VERSION