Ошибка отсутствие флага в цикле JavaScript

Пусть у нас есть некоторое число:

let num = '12345';

Давайте проверим, есть ли в этом числе заданная цифра. Некий программист уже написал код, реализующий описанное:

for (let digit of num) { if (digit === '3') { console.log('есть'); } else { console.log('нет'); } }

Этот код, однако, работает некорректно, выводя 'есть' или 'нет' для каждого элемента массива. Нам же нужно, чтобы результат вывелся только один раз. В этом случае в сочетании с циклом задача решается только через флаг:

let hasDigit = false; // флаг for (let digit of num) { if (digit === '3') { hasDigit = true; break; } } if (hasDigit) { console.log('есть'); } else { console.log('нет'); }