Menu
Coddy logo textTech

İç İç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:
    • originalPrice ve discountPercentage adında iki argüman alan calculateDiscount adında bir fonksiyon tanımlıyoruz.
  • İç Fonksiyon:
    • Dış fonksiyonun içinde, calculateDiscountAmount adında başka bir fonksiyon tanımlıyoruz. Bu, iç içe geçmiş fonksiyondur. İki argüman alır: price ve discount (doğrudan originalPrice veya discountPercentage değişkenlerine erişimi olmadığına dikkat edin).
  • Çıktı: Fonksiyon, nihai fiyatı döndürür; bu da (%20 indirim uygulandıktan sonra) 80'dir.
challenge icon

Görev

Kolay

Gö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