kembali ke pelajaran

Pertanyaan tentang "if"

Mana dari alert berikut yang akan diexekusi?

Hasil expresinya akan jadi seperti apa di dalam if(...)?

if (-1 || 0) alert( 'first' );
if (-1 && 0) alert( 'second' );
if (null || -1 && 1) alert( 'third' );

Jawabannya: pertama dan ketiga akan diexekusi.

Detil:

// Berjalan.
// Hasil dari -1 || 0 = -1, truthy
if (-1 || 0) alert( 'first' );

// Tidak berjalan
// -1 && 0 = 0, falsy
if (-1 && 0) alert( 'second' );

// Eksekusi
// Operator && mempunyai hak yang lebih tinggi daripada ||
// jadi -1 && 1 dieksekusi pertama, dan memberikan rentetan:
// null || -1 && 1  ->  null || 1  ->  1
if (null || -1 && 1) alert( 'third' );