Ho questo pezzo di codice
if (!expr1) {
codeblock1;
} elseif (expr2) {
codeblock2;
codeblock1;
}
Mi sta facendo arrabbiare perché sto cercando di rifattorizzarlo in modo tale che non ci sia un codice ripetitivo, ma continuo a ottenere risultati diversi.
if (!expr1 || expr2) {
if (expr2) {
codeblock2;
}
codeblock1;
}
Qual è la differenza logica tra questi due esempi?