Zadanie z wynikiem: czy && zwraca boolean?
Najpierw odpowiedz na głos lub w myślach, potem porównaj.
Odpowiedź
Nie zawsze. Operator && zwraca pierwszy falsy operand albo ostatni operand, gdy wszystkie wcześniejsze są truthy. Stosuje short-circuit evaluation.
JavaScript
let a = 0;
let b = 0;
function run() {
b++;
console.log(a && b);
}
run(); // 0
console.log('ok' && 42); // 42
console.log(Boolean('ok' && 42)); // truePułapka w React: count && <Badge /> może wyrenderować 0. Jeżeli warunek ma być logiczny, piszę count > 0 && <Badge />.
Kod jest adaptacją pytania o przewidzenie wyniku, z jawnym wywołaniem funkcji.
Jak poszło? Bądź szczery — „Jeszcze nie” dodaje pytanie do powtórki.
Powiązane pytania
- Co zwraca 'ok' && 42? — JavaScript
- Co wyrenderuje count && <Badge /> przy count = 0? — React