@75db77

Как сделать чтобы другие параметры были не обязательны?

Мне нужно создать функцию которая принимает три параметра. В этой функции обязателен только первый параметр, а второй и третий могут быть не переданы.

Как это реализовать? Если можно приведите маленький пример...
  • Вопрос задан
  • 92 просмотра
Решения вопроса 2
@andreysuha
Что то знаю
function test(a, b=null, c=null) {
    console.log(a);
     if(b) console.log(b);
     if(c) console.log(c);
}

test(1) // консоль: 1
test(1, 2) // консоль: 1, 2
Ответ написан
Проверять, что 2-й и 3-й не undefined:
function f(arg1, arg2, arg3) {
  if (arg3 === undefined) {
    // 3-го нет
  }
  if (arg2 === undefined) {
    // 2-го нет
  }
}


Или проверять длину спец-массиво-подобного arguments:
function sum() {
  console.log(arguments.length);
  let result = arguments[0];
  if (arguments.length > 1) result += arguments[1];
  if (arguments.length > 2) result += arguments[2];
  return result;
}

sum(1,2,3) // выведет 3, вернёт 6
sum(1,2) // выведет 2, вернёт 3
sum(1) // выведет и вернёт 1
В стрелочных функциях arguments отсутствует.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Aetae
@Aetae
Тлен
Мы же говорим о typescript?
function test (a: number, b?: number, c?: number) {
  console.log(a);
  if (b) console.log(b);
  if (c) console.log(c);
}

test(1) // консоль: 1
test(1, 2) // консоль: 1, 2
Ответ написан
@KingstonKMS
full-stack web developer
Если не путаю ничего, то просто имена переменных прописаны в аргументах, а в функции проверка на undefined этих параметров
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы