JS offre l'oggetto 'arguments' all'interno delle funzioni per rappresentare tutti gli argomenti passati. Esiste un concetto ampiamente accettato per quando / dove dovrebbe essere usato?
Ho visto articoli del genere in "wild" che mi sembrano codificati:
function myFxn () {
var myVar = arguments[0];
// do something with myVar
}
questo è un esempio molto semplificato, ma illustra ciò che mi sembra una cattiva pratica di codifica. Preferirei
function myFxn (myVar) {
// do something with myVar
}
Un collega l'ha usato in un certo numero di punti in cui desiderava solo nominare gli argomenti "richiesti" ("richiesti" dall'implementazione), ma omettere quelli "facoltativi":
function myFxn (myReqVar) {
var myOptVar = (arguments[1] !== undefined) ? arguments[1] : false;
// do something with vars
}
Ciò non è sembrato saggio per motivi di leggibilità e manutenibilità ridotte. Mi sembra di creare funzioni con interfacce confuse che devono basarsi sulla conoscenza dello sviluppatore del suo intento o della documentazione esterna da comprendere e utilizzare.
È solo una questione di opinione, o c'è una preponderanza di opinioni su questo?