How to perform (kind of) function overloading in JavaScript

2 Answers

0 votes
function f() {  
    if (arguments.length == 0) {  
        console.log('No argument');  
    }

    else if (arguments.length == 1) {  
        console.log(arguments[0]);  
    }

    else {
        let length = arguments.length;
    	let s = "";
        for (i = 0; i < length; i++) {  
             s += arguments[i] + ", ";
        }  
        console.log(s)
    }  
}


f();
f(8); 
f(3, 6);    
f(7, 9, 0, 1, 3, 6, 7); 



/*
run:

"No argument"
8
"3, 6, "
"7, 9, 0, 1, 3, 6, 7, "

*/

 



answered Jan 28, 2022 by avibootz
edited Jan 28, 2022 by avibootz
0 votes
function f() {  
 switch (arguments.length) {
    case 0:
        console.log('No argument');  
        break;
    case 1:
        console.log(arguments[0]);  
        break;
    default:
        let length = arguments.length;
    	let s = "";
        for (i = 0; i < length; i++) {  
             s += arguments[i] + ", ";
        }  
        console.log(s);
    }
}


f();
f(8); 
f(3, 6);    
f(7, 9, 0, 1, 3, 6, 7); 





/*
run:

"No argument"
8
"3, 6, "
"7, 9, 0, 1, 3, 6, 7, "

*/

 



answered Jan 28, 2022 by avibootz
edited Jan 28, 2022 by avibootz
...