Выполнение короткого замыкания
Так как логические операторы выполняются слева направо, они тестируются на возможные "короткие замыкание", при использовании следующих прав:
false && (anything) короткое замыкание дающее false.
true || (anything) короткое замыкание дающее true.
Правила логики гарантируют, что эти выражения всегда корректны. Заметьте, что любая часть выражений ниже не выполнится, так как любые побочные эффекты не сделают эффекта. Также заметьте, что любая часть выражения ниже - одиночное логическое выражение (отмечено скобками).
Например, следующие 2 функции делают одно и то же:
function shortCircuitEvaluation() {
doSomething() || doSomethingElse()
}
function equivalentEvaluation() {
var flag = doSomething();
if (!flag) {
doSomethingElse();
}
}
https://developer.mozilla.org/ru/docs/Web/JavaScri...
Тут описан пример, и говорить, что Например, следующие 2 функции делают одно и то же:
Можно ли более детальней узнать как происходит преобразование?