Мне требуется написать функцию на js. У этой функции должны быть опциональные аргументы, делаю так
const myFunc = (a, b) => {...}
Хочу реализовать следующую логику: функция универсальна, если в нее передают аргументы - использую их, если не передают, то вычисляю во время выполнения.
Но, возникла проблема, что если пытаюсь вызвать функцию ничего в нее не передавая, myFunc(), то вижу сообщение об ошибке, что не хватает параметров. А если переделываю в
const myFunc = ({a, b}) => {...}
то вижу ошибку, что не хватает одного аргумента, как это можно разрешить?
p.s. Если говорить языком аналогий с java, то как перегрузить метод?
const myFunc = (...args) => {
if (args.length == 0) {
args[0] = "no ";
args[1] = "parameters";
}
return args[0] + args[1];
};
console.log(myFunc(1, 2));
console.log(myFunc());
Возможно, Вам больше понравятся вычисляемые по умолчанию параметры:
var i = 0, j = 0;
function calculateA() {
console.log("calculateA");
return ++i;
}
function calculateB() {
console.log("calculateB");
return (j += 100);
}
const myFunc = (a = calculateA(), b = calculateB()) => {
return a + b;
};
console.log(myFunc());
console.log(myFunc(1, 2));
console.log(myFunc(1));
console.log(myFunc());
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Отправляю файлы через input type="file", FormDataНажимаю на input, выбираю один файл - все нормально
Собственно вопросМожно ли сохранить данные LocalStorage в произвольную директорию и выгрузить их оттуда после? Делаю локальную веб страницу...