JSLint - Не изменять параметр при использовании аргументов?

All,

Я использую JSLint для проверки моих файлов JS. В моем последнем проекте я использую следующий формат для установки значений по умолчанию для ряда функций JavaScript (подробнее здесь ):

function(a, b, option) {
    option = arguments.length > 2 ? option : "some default value";
    // ...
}

Однако это приводит к построение JSLint для выдачи следующей ошибки:

"Do not mutate parameter 'option' when using 'arguments'."

Я знаю, что использование более распространенного метода назначения значений по умолчанию (например, option = option || {}; ) подавляет ошибку; однако это приведет к вызывают некорректное поведение, если я намерен передать значение falsey в параметр .

Является ли единственным решением этой проблемы введение новой переменной? например:

var option2 = arguments.length > 2 ? option : "some default value";

6
задан robyaw 21 February 2012 в 10:27
поделиться