Я смотрю на этот код:
for (let n = 1; n <=100; n++) { let output = ""; if (n % 3 == 0) output += "Fizz"; if (n % 5 == 0) output += "Buzz"; console.log(output || n); }
Как консоль решает, когда печатать цифры или слова?
"" является ложным значением, поэтому при выполнении "" || 1 оно будет читаться как false || 1, что приведет к выводу 1.
""
"" || 1
false || 1
1
. Вы можете прочитать больше на https://developer.mozilla.org/en-US/docs/Glossary/Falsy
Логический оператор ИЛИ работает, потому что в Javascript он возвращает первое выражение, если если truey , в противном случае он возвращает второе выражение.
Подробнее на https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Expressions_and_Operators#Logical