بازگشت به درس

یک سوال درباره "if"

اهمیت: 5

کدام یک از alertها اجرا خواهد شد؟

نتیجه عبارت های داخل if(...) چه خواهد بود؟

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

جواب: اولی و سومی اجرا خواهند شد.

جزییات:

// اجرا می شود.
// نتیجه 1- = 0 || 1-، truthy
if (-1 || 0) alert( 'first' );

// اجرا نمی شود.
// -1 && 0 = 0, falsy
if (-1 && 0) alert( 'second' );

// اجرا می شود
// عملوند && اولویت بیشتری نسبت به || دارد
// پس 1 && 1- اول اجرا می شود، و به ما زنجیره را می دهد:
// null || -1 && 1  ->  null || 1  ->  1
if (null || -1 && 1) alert( 'third' );