Fungsi Bersarang
Pelajaran 7 dari 14 dalam kursus Deklarasi Fungsi di JavaScript di Coddy.
Fungsi bersarang seperti pahlawan super dengan rekan pendampingnya. Fungsi ini sangat andal dan dapat membuat serta menggunakan fungsi lain di dalamnya.
Fungsi bersarang adalah fungsi yang didefinisikan di dalam fungsi lain. Fungsi bagian dalam dapat mengakses variabel dan parameter fungsi bagian luar, sehingga menciptakan cakupan lokal di dalam fungsi bagian luar.
Bayangkan kamu memiliki fungsi utama (pahlawan super) yang membutuhkan bantuan untuk tugas tertentu. Alih-alih mengandalkan fungsi eksternal, fungsi tersebut dapat membuat fungsi pembantu (rekan pendamping) di dalam dirinya untuk menangani tugas itu. Fungsi pembantu ini hanya dapat diakses dan digunakan oleh fungsi utama. Contoh:
function calculateDiscount(originalPrice, discountPercentage) {
function calculateDiscountAmount(price, discount) {
return price * discount; // Hitung jumlah diskon (fungsi dalam)
}
const discountAmount = calculateDiscountAmount(originalPrice, discountPercentage / 100);
const finalPrice = originalPrice - discountAmount;
return finalPrice;
}
const discountedPrice = calculateDiscount(100, 20);
console.log(discountedPrice); // output: 80- Fungsi Bagian Luar:
- Kita mendefinisikan fungsi bernama
calculateDiscountyang menerima dua argumen:originalPricedandiscountPercentage.
- Kita mendefinisikan fungsi bernama
- Fungsi Bagian Dalam:
- Di dalam fungsi bagian luar, kita mendefinisikan fungsi lain bernama
calculateDiscountAmount. Inilah fungsi bersarang. Fungsi ini menerima dua argumen:pricedandiscount(perhatikan bahwa fungsi ini tidak dapat mengaksesoriginalPriceataudiscountPercentagesecara langsung).
- Di dalam fungsi bagian luar, kita mendefinisikan fungsi lain bernama
- Output: Fungsi ini mengembalikan harga akhir, yaitu 80 (setelah diskon 20% diterapkan).
Tantangan
MudahTugasmu adalah membuat fungsi bersarang bernama calculateTaxAmount yang mengambil price dan taxRate dari fungsi luar calculateWithTax, menghitung jumlah pajak, lalu mengembalikannya. (Jumlah pajak adalah harga dikalikan dengan tarif pajak.)
Terakhir, fungsi luar harus menghitung dan mengembalikan harga akhir (termasuk pajak) dengan menambahkan jumlah pajak ke harga awal, lalu mengembalikan harga akhir.
Coba sendiri
function calculateWithTax(product) {
let price = product.price;
let taxRate = product.taxRate;
// tulis kodemu di sini
}
Semua pelajaran di Deklarasi Fungsi di JavaScript
1Pengenalan Kursus
Apa yang akan kamu pelajari?3Cara Mendeklarasikan Fungsi
Fungsi DasarFungsi BersarangMengembalikan FungsiEkspresi FungsiFungsi ArrowKonstruktor FungsiLatihan sendiri: Compiler JavaScript online