Обновить существующий параметр по умолчанию в JavaScript - PullRequest
0 голосов
/ 28 сентября 2019

В javascript, возможно ли обновить значение параметра по умолчанию для существующей функции?

Предположим, у меня есть:

function addNumbers(a, b=2) {
    return a+b;
}

и позже в моей программе I 'Я хотел бы обновить значение по умолчанию b, поэтому, если кто-то вызывает addNumbers только с одним аргументом b, теперь по умолчанию используется что-то другое, но если они вызывают addNumbers с двумя аргументами, оба эти аргумента все еще используются.

Если такая вещь возможна, как бы вы это сделали?

Редактировать:

Я знаю, что это возможно, если исходная функция использует глобальнуюпеременная для значения по умолчанию, например, так:

let defaultB = 2;
function addNumbers(a, b=defaultB) {
    return a+b;
}

Тогда любые обновления в defaultB обновят значение по умолчанию для b.Кто-нибудь знает способ сделать это без глобалов?

1 Ответ

0 голосов
/ 28 сентября 2019

Вы можете использовать переменную или свойство вместо литерала, например,

function addNumbers(a, b=addNumbers.b) {
    return a+b;
}
addNumbers.b = 2;

console.log(addNumbers(5))

addNumbers.b = 100;

console.log(addNumbers(5))

Я не уверен, какое практическое применение это может иметь, кроме как смущать кого-либо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...