Jak przeciążać funkcje w javascript?
Klasyczne (nie-js) podejście do przeciążenia:
function myFunc(){
//code
}
function myFunc(overloaded){
//other code
}
Javascript nie pozwoli na zdefiniowanie więcej niż jednej funkcji o tej samej nazwie. W ten sposób pojawiają się takie rzeczy:
function myFunc(options){
if(options["overloaded"]){
//code
}
}
Czy istnieje lepsze obejście przeciążania funkcji w javascript niż przekazywanie obiektu z przeciążeniami?
Przekazywanie przeciążeń może szybko spowodować, że funkcja stanie się zbyt gadatliwa, ponieważ każde możliwe przeciążenie będzie wtedy wymagało instrukcji warunkowej. Używanie funkcji do wykonania//code
wewnątrz tych instrukcji warunkowych mogą wystąpić trudne sytuacje z zakresami.