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.