Apa hasil dari alert yang di-OR-kan?
Apa output kode di bawah?
alert( alert(1) || 2 || alert(3) );
Jawabannya: pertama 1, lalu 2.
alert( alert(1) || 2 || alert(3) );
Panggilan alert tak mengembalikan nilai. Atau, dengan kata lain, ia mengembalikan undefined.
- Pertama OR
||mengevaluasi operand kirialert(1). Ia menampilkan pesan pertama dengan1. alertmengembalikanundefined, jadi OR jalan ke operand kedua mencari nilai truthy.- Operand kedua
2truthy, jadi eksekusinya disela,2dikembalikan dan ditampilkan oleh alert terluar.
Tak akan ada 3, karena evaluasinya tidak mencapai alert(3).