İç İçe Fonksiyon
Coddy'nin JavaScript'te Fonksiyon Tanımlamaları kursunda ders 7 / 14.
İç içe geçmiş fonksiyonlar, yardımcıları olan süper kahramanlar gibidirler; kendi içlerinde başka fonksiyonlar oluşturabilen ve kullanabilen güçlü fonksiyonlardır.
İç içe geçmiş bir fonksiyon (nested function), başka bir fonksiyonun içinde tanımlanan bir fonksiyondur. İçteki fonksiyon, dıştaki fonksiyonun değişkenlerine ve parametrelerine erişebilir ve dış fonksiyon içinde yerel bir kapsam (scope) oluşturur.
Belirli bir görevde yardıma ihtiyacı olan ana bir fonksiyonunuz (süper kahraman) olduğunu hayal edin. Harici bir fonksiyona güvenmek yerine, bu belirli görevi yerine getirmek için kendi içinde bir yardımcı fonksiyon (yardımcı karakter) oluşturabilir. Bu yardımcı fonksiyona yalnızca ana fonksiyon tarafından erişilebilir ve kullanılabilir. Örneğin:
function calculateDiscount(originalPrice, discountPercentage) {
function calculateDiscountAmount(price, discount) {
return price * discount; // İndirim tutarını hesapla (iç fonksiyon)
}
const discountAmount = calculateDiscountAmount(originalPrice, discountPercentage / 100);
const finalPrice = originalPrice - discountAmount;
return finalPrice;
}
const discountedPrice = calculateDiscount(100, 20);
console.log(discountedPrice); // Output: 80- Dış Fonksiyon:
originalPricevediscountPercentageadında iki argüman alancalculateDiscountadında bir fonksiyon tanımlıyoruz.
- İç Fonksiyon:
- Dış fonksiyonun içinde,
calculateDiscountAmountadında başka bir fonksiyon tanımlıyoruz. Bu, iç içe geçmiş fonksiyondur. İki argüman alır:pricevediscount(doğrudanoriginalPriceveyadiscountPercentagedeğişkenlerine erişimi olmadığına dikkat edin).
- Dış fonksiyonun içinde,
- Çıktı: Fonksiyon, nihai fiyatı döndürür; bu da (%20 indirim uygulandıktan sonra) 80'dir.
Görev
KolayGöreviniz, dış fonksiyon olan calculateWithTax içinden price ve taxRate değerlerini alan ve vergi tutarını hesaplayıp döndüren calculateTaxAmount adında iç içe geçmiş bir fonksiyon oluşturmaktır. (Vergi tutarı, fiyatın vergi oranı ile çarpımıdır)
Son olarak, dış fonksiyon, vergi tutarını orijinal fiyata ekleyerek nihai fiyatı (vergi dahil) hesaplamalı ve nihai fiyatı döndürmelidir.
Kendin dene
function calculateWithTax(product) {
let price = product.price;
let taxRate = product.taxRate;
// kodu buraya yazın
}
JavaScript'te Fonksiyon Tanımlamaları bölümündeki tüm dersler
1Kursa Giriş
Neler öğreneceksiniz?4Kilometre Taşı Meydan Okumaları
Sayı Durumunu Kontrol EtArrow Function ile SelamlamaNotlandırma Sistemi2Fonksiyonlara Giriş
Fonksiyon Nedir?Saf FonksiyonlarFonksiyon Alıştırması #1Fonksiyon Alıştırması #23Fonksiyon Tanımlama Yöntemleri
Temel Fonksiyonİç İçe FonksiyonFonksiyon DöndürmeFonksiyon İfadeleriArrow FunctionFunction Constructor