Цель этой функции - вернуть значение между 3 и 6. Я знаю, что есть более простой способ сделать это, но я просто пытаюсь понять, как / почему эта опция работает.
Ниже Функция работает, но только если вы используете return в операторе else. Если вы не используете «return randomHull ()» и вместо этого просто используете «randomHull ()», он вернет неопределенное значение, если первая попытка находится за пределами диапазона.
Мое первоначальное понимание состояло в том, что возвращение не нужно, поскольку значение будет сохранено только в том случае, если оператор if истинен, в противном случае он просто снова запустит randomHull (), пока не пройдет через оператор if и не вернет значение в диапазон.
Почему требуется "возврат" перед randomHull () в операторе else?
const randomHull = () => {
let alienHull = Math.ceil(Math.random() * 6);
if (alienHull >= 3) {
return alienHull;
} else {
return randomHull();
}
}
console.log(randomHull());