Пожалуйста, поправьте меня, если я неправильно понимаю ваш вопрос.Но если вы хотите хранить значения, вам придется объявлять их вне вашей функции.В настоящее время ваши значения существуют только в вашей функции.Когда функция вызывается, они будут воссозданы, а после ее завершения они снова будут удалены.
Вы можете попытаться объявить свои значения вне вашей функции и предотвратить переопределение следующим образом:
var value1, value2, value3;
function mainFun({
val1,
val2,
val3
}) {
value1 = value1 || val1,
value2 = value2 || val2,
value3 = value3 || val3;
console.log(value1, value2, value3);
}
То, что value1 || val1
в основном делает, это говорит: «Эй, если value1
уже имеет значение, используйте его.Если нет, используйте val1
.Действует так же, как value1 = value1 !== undefined ? val1 : value1
или проще:
if (value1 === undefined) {
value1 = val1;
} else { // obviously not needed
value1 = value1;
}