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

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

javascriptlet num = '12345';

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

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

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

javascriptlet hasDigit = false; // флаг

for (let digit of num) {
  if (digit === '3') {
    hasDigit = true;
    break;
  }
}

if (hasDigit) {
  console.log('есть');
} else {
  console.log('нет');
}