⊗jsPmFNFRF 252 of 505 menu

Fungsi yang Mengembalikan Fungsi dalam JavaScript

Misalkan kita memiliki fungsi seperti ini, yang mengembalikan sebuah string:

function func() { return '!'; } let result = func(); console.log(result); // akan menampilkan '!'

Sekarang, dengan analogi yang sama, mari kita kembalikan sebuah fungsi anonim:

function func() { return function() { return '!'; }; } let result = func(); // variabel result akan berisi fungsi console.log(result); // akan menampilkan 'function() {return '!';}'

Seperti yang Anda lihat, variabel result sekarang merupakan sebuah fungsi. Mari kita tampilkan hasil eksekusinya di konsol. Untuk melakukannya, tuliskan tanda kurung untuknya:

function func() { return function() { return '!'; }; } let result = func(); console.log( result() ); // akan menampilkan '!'

Karena pemanggilan func() mengembalikan sebuah fungsi, maka kita bisa langsung memanggil fungsi yang dikembalikan tersebut, seperti ini: func()() - tanda kurung pertama mendapatkan hasil dari fungsi func (yang mana hasilnya sendiri adalah sebuah fungsi), dan tanda kurung kedua diterapkan pada hasil func tersebut.

Mari kita coba:

function func() { return function() { return '!'; }; } console.log( func()() ); // akan menampilkan '!'

Buatlah fungsi func1, yang ketika dipanggil seperti ini: func1()(), mengembalikan angka 1. Buat juga fungsi serupa func2, yang mengembalikan angka 2. Carilah jumlah hasil dari kedua fungsi tersebut.

byidswdeen