FizzBuzz не видит число

var number = 15;
var taskResult;

if (number){
if (number%3==0) {taskResult=(‘Fizz’)}
if (number%5==0) {taskResult=(‘Buzz’)}
if (number%5==0 && number%3==0) {taskResult=(‘FizzBuzz’)}
}
else {taskResult = number}

Почему в данном условии не срабатывает else? Первые 3 проверки проходит, на последней число 32 не выводится.
“Переменная taskResult не определена.”

if (number) {…} else {taskResult = number}

что это за проверка у вас? что она делает?
проверка на “не ноль”?

Подсказка

уберите внешнее условие, задайте дефолтное значение результату = число

if (number) {…}
Спасибо, эту ошибку тащу давно, ей как бы “группировала” условия. Не пойму как другие коды с ней работали))

А почему если taskResult = number; стоит после условий, то код не работает (проверки 30, 18, 10 не проходит, 32 верно), а если перед условиями, то все срабатывает?

ну смотрите:
если сразу сделать так:
var taskResult = number; {3 независимые проверки fizzbuzz}

то если не проходит ни одну проверку, то ответ у нас уже изначально был, еще на этапе присвоения значения taskResult.
а если бы проверки проходили, то результат в ячейке(а мы не забываем, что переменные - это поименованные области памяти) с именем taskResult просто бы перезаписывался в результате fizzbuzz проверок. Если уж совсем по-простецки: у нас есть коробочка, мы туда кладем число и ждем. Если проверки проходим, вытряхиваем число и кладем туда то, что от проверки будет. И так с каждой проверкой, заново вытряхиваем и кладем результат проверки. В конце коробочку показываем боссу.

реакция босса

image

если же вы в конце поставите, то независимо от того, какие вычисления и условия выполнялись бы, у вас ответ в ячейке будет taskResult = number;, т.к. эта операция присвоения является последней и безусловной для переменной taskResult. По-простецки, мы в коробочку ничего не кладем, ждем результатов проверок, кладем туда fizz/buzz. А потом вытряхиваем и кладем туда число.
В конце коробочку показываем боссу.

реакция босса

:rofl::rofl::rofl: спасибо, доходчиво и наглядно)