Почему в тернарный оператор нельзя положить цикл?
По стандарту. Во всех трёх параметрах тернарного оператора могут находиться только выражения.
https://tc39.es/ecma262/multipage/ecmascript-langu...
Потому что цикл это не выражение (expression), а инструкция (statement). Тернарный оператор требует что бы все операнды были выражениями.