return или break для выхода из цикла?

Допустим у нас есть код вида:

while (true){
    ...
    if (...){
    return; // or break?
    }
}

Как правильно выйти из цикла, return или break?


Ответы (2 шт):

Автор решения: Andrew Bystrov

Все зависит от того, что вам надо. Если вам надо выйти полностью из метода, то тогда return, а если только из цикла - то break.

Примеры.

Тут стоит использовать return, т.к. после цикла нет ничего + надо вернуть какое-либо значение

while(true) {
    ....
    if (...) {
        return "someReturnValue"
    }
}

А тут стоит использовать break, т.к. после цикла идет какая-то логика - в цикле мы ждем, пока наш объект не прогрузиться, и после этого уже получаем объект и работаем с ним

while(true)
    if (myObjectIsLoad()) {
        break;
    }
}
var myObject = getMyObject(); 
....
→ Ссылка
Автор решения: Barmaley Red Star

Синтаксически оба подхода выход через return/break равнозначны.

Однако, с точки зрения читабельности кода, все таки предпочтителен break, поскольку выход из функции во многих местах затрудняет понимание логики функции.

→ Ссылка