4.1 Funksiya parametrləri
JavaScript-də funksiya parametrləri funksiyalara emal üçün dəyərləri ötürməyə imkan verir. Bu, funksiyaları daha çevik və uyğunlaşdırıla bilən edir. Bu mövzuda biz JavaScript-də funksiya parametrləri ilə işin əsas aspektlərini nəzərdən keçirəcəyik, defolt parametrlər və qalıq parametrlər daxil edilməklə.
Parametrlər funksiyanın adından sonra dairəvi mötərizələrdə göstərilir. Funksiya çağırıldığında, bu parametrlərin dəyərləri funksiyanın daxilində uyğun dəyişkənlərə ötürülür.
Nümunə:
greet()
funksiyasında iki parametr müəyyən edilmişdir: name
və age
. Funksiya çağırıldığında Alice
və 30
dəyərləri bu parametrlərə ötürülür.
function greet(name, age) {
return `Salam, ${name}! Sənin ${age} yaşın var.`;
}
console.log(greet('Alice', 30)); // "Salam, Alice! Sənin 30 yaşın var."
Undefined parametrlərin işlənməsi
Əgər parametr funksiyanın çağırılmasında ötürülməyibsə, onun dəyəri undefined
olacaq. Bu, həmin parametr ilə əməliyyatlar zamanı səhvlərə gətirib çıxara bilər, xüsusilə də undefined
-ı dəstəkləməyən əməliyyatlarda.
Nümunə:
greet()
funksiyasında yoxlanır, name
parametri ötürülüb ya yox. Əgər ötürülməyibsə, Guest
sətri istifadə olunur.
function greet(name) {
if (name === undefined) {
return 'Salam, Qonaq!';
}
return `Salam, ${name}!`;
}
console.log(greet()); // "Salam, Qonaq!"
console.log(greet('Bob')); // "Salam, Bob!"
4.2 Varsayılan Parametrlər
Varsayılan parametrlər argument çağırış zamanı ötürülmədikdə və ya undefined
kimi ötürüldükdə istifadə olunacaq dəyərləri təyin etməyə imkan verir. Bu, opsional parametrləri olan funksiyalar yaratmaq üçün çox faydalıdır.
Syntax:
function name (arg1 = value1, arg2 = value2) {
// function body
}
Misal 1: Varsayılan parametrlərə malik sadə funksiya
Bu misalda greet()
funksiyası default olaraq Guest
dəyərinə malik bir name parametrinə malikdir. Əgər argument ötürülməzsə, varsayılan dəyər istifadə olunacaq.
function greet(name = 'Guest') {
return `Salam, ${name}!`;
}
console.log(greet('Alice')); // Çap edəcək: Salam, Alice!
console.log(greet()); // Çap edəcək: Salam, Guest!
Misal 2: Varsayılan parametrlər ifadələrlə
Bu misalda tax
parametresinin default dəyəri price
dəyərinin 20%-i kimi hesablanır, əgər başqa bir argument ötürülməzsə.
function calculatePrice(price, tax = price * 0.2) {
return price + tax;
}
console.log(calculatePrice(100)); // Çap edəcək: 120
console.log(calculatePrice(100, 15)); // Çap edəcək: 115
Misal 3: Varsayılan parametrlər digər parametrlərdən asılıdır
Bu misalda varsayılan parametrlər əvvəlcədən təyin olunmuş rollara və statuslara malik istifadəçi yaratmağa imkan verir.
function createUser(name, role = 'user', isActive = true) {
return { name, role, isActive };
}
console.log(createUser('Alice')); // Çap edəcək: { name: 'Alice', role: 'user', isActive: true }
console.log(createUser('Bob', 'admin')); // Çap edəcək: { name: 'Bob', role: 'admin', isActive: true }
console.log(createUser('Charlie', 'moderator', false)); // Çap edəcək: { name: 'Charlie', role: 'moderator', isActive: false }
4.3 Qeydiyyat parametrləri
Qeydiyyat parametrləri funksiyanın hər hansı sayda argument qəbul edib onları massiv şəklində toplamasına imkan yaradır. Bu, argumentlərin istənilən sayda olduğu hallar üçün faydalıdır.
Sintaksis:
function name (arg1, arg2, ...argArray) {
// function body
}
Nümunə 1: Bütün verilmiş argumentlərin cəmini tapmaq
Bu nümunədə sumAll()
funksiyası qeydiyyat parametrlərindən istifadə edərək verilmiş bütün argumentləri cəmləyir.
function sumAll(...numbers) {
return numbers.reduce((sum, num) => sum + num, 0);
}
console.log(sumAll(1, 2, 3)); // Çap edəcək: 6
console.log(sumAll(4, 5, 6, 7, 8)); // Çap edəcək: 30
Nümunə 2: Sabit və qeydiyyat parametrləri olan funksiya
Bu nümunədə showItems()
funksiyası sabit parametr firstItem
və qeyri-müəyyən sayda digər argumentləri qəbul edir, onlar otherItems
adlı massivdə toplanır.
function showItems(firstItem, ...otherItems) {
console.log(`Birinci element: ${firstItem}`);
console.log(`Digər elementlər: ${otherItems.join(', ')}`);
}
showItems('apple', 'banana', 'cherry', 'date');
// Çap edəcək:
// Birinci element: apple
// Digər elementlər: banana, cherry, date
Nümunə 3: Dinamik argumentlərə malik funksiya
Bu nümunədə createMessage()
funksiyası ilk argumenti messageType
və digər bütün parametrləri messages
adlı massivdə toplayaraq mesaj yaradır.
function createMessage(messageType, ...messages) {
return `[${messageType.toUpperCase()}]: ${messages.join(' ')}`;
}
console.log(createMessage('info', 'Bu', 'bir', 'informasiya', 'mesajıdır'));
// Çap edəcək: [INFO]: Bu bir informasiya mesajıdır
console.log(createMessage('error', 'Bir', 'xəta', 'baş verdi'));
// Çap edəcək: [ERROR]: Bir xəta baş verdi
GO TO FULL VERSION