Program JavaScript untuk Melakukan Fungsi Overloading

Dalam pemrograman, fungsi overloading mengacu pada konsep di mana beberapa fungsi dengan nama yang sama dapat memiliki implementasi yang berbeda. Namun, dalam JavaScript, jika ada beberapa fungsi dengan nama yang sama, fungsi yang ditentukan terakhir akan dieksekusi.

Fitur fungsi overloading dapat diimplementasikan dalam beberapa cara lain.


Contoh 1: Menggunakan Pernyataan if/else-if

// program to perform function overloading

function sum() {  
    
    // if no argument        
    if (arguments.length == 0) {  
        console.log('You have not passed any argument');  
    }

    // if only one argument 
    else if (arguments.length == 1) {  
        console.log('Pass at least two arguments');  
    }

    // multiple arguments
    else {
        let result = 0;
        let length = arguments.length;
    
        for (i = 0; i < length; i++) {  
            result = result + arguments[i];  
        }  
        console.log(result); 
    }  
}

sum();
sum(5); 
sum(5, 9);    
sum(1, 2, 3, 4, 5, 6, 7, 8, 9); 

Keluaran

You have not passed any argument
Pass at least two arguments
14
45

Dalam program di atas, fitur overloading dilakukan dengan menggunakan: if/else...if pernyataan.

  • Dalam JavaScript, arguments objek secara otomatis tersedia di dalam fungsi yang mewakili argumen yang diteruskan ke suatu fungsi.
  • Beberapa kondisi ditujukan untuk melakukan tindakan berdasarkan kondisi tertentu.

Contoh 2: Menggunakan pernyataan sakelar

// program to perform function overloading
function sum() {
    switch (arguments.length) {
    case 0:
        console.log('You have not passed any argument');
        break;
    case 1:
        console.log('Pass at least two arguments');
        break;
    default:
        let result = 0;
        let length = arguments.length;
    
        for (i = 0; i < length; i++) {  
            result = result + arguments[i];  
        }  
        console.log(result);
        break;
    }
}

sum();
sum(5); 
sum(5, 9);    
sum(1, 2, 3, 4, 5, 6, 7, 8, 9);

Keluaran

You have not passed any argument
Pass at least two arguments
14
45

Pada program di atas, switch pernyataan digunakan untuk menyelesaikan fungsi fungsi overloading. Kondisi yang berbeda menghasilkan tindakan yang berbeda untuk dilakukan.