Tutti,JSLint - Non si modifica il parametro <x> quando si usano 'argomenti'?
Io uso JSLint per convalidare i miei file JS. Nel mio progetto più recente, sto usando il seguente formato per impostare i valori predefiniti per una serie di funzioni JavaScript (ulteriormente dettagliato here):
function(a, b, option) {
option = arguments.length > 2 ? option : "some default value";
// ...
}
Questo però fa sì che l'ultima build di JSLint per produrre il seguente errore:
"Do not mutate parameter 'option' when using 'arguments'."
Sono consapevole del fatto che l'utilizzo del metodo più comune per l'assegnazione dei valori predefiniti (ovvero) sopprime l'errore; tuttavia, questo produrrà un comportamento errato se intendo passare un valore false a option
.
È l'unica soluzione a questo problema per introdurre una nuova variabile? es .:
var option2 = arguments.length > 2 ? option : "some default value";
Una variabile locale, che è il suo "introdurre un secondo parametro" è una soluzione migliore. – Biswanath