مقادیر بولین در جاوا اسکریپت

Ratings
(0)

نوع اولیه ی(primitive ) بولین شامل مقادیر true و false می شود. عملگرهای زیر مقادیر بولین را تولید می کنند:

  • عملگرهای باینری منطقی مثل && (And) و || (Or)
  • عملگر پیشوندی منطقی ! (Not)
  • عملگرهای مقایسه ای
    • عملگرهای برابری مثل === و ==! و == و =!
    • عملگرهای ترتیبی(Ordering operators) برای رشته ها و اعداد مثل < و =< و > و =>

 true یا false

هرگاه جاوا اسکریپت به یک مقدار بولین احتیاج دارد(مثلا برای شرط های یک دستور if) ما می توانیم از هر مقداری استفاده کنیم. این مقدارها به صورت true یا false تفسیر خواهند شد. مقادیر زیر همگی به صورت false تفسیر می شوند:

  • undefined, null
  • در بولین ها: false
  • در اعداد: -0, NaN
  • در رشته ها ''

 تمام دیگر مقادیر (که شامل تمام اشیاء نیز می شود) true در نظر گرفته می شوند. به مقادیری که به صورت false تفسیر می شوند، falsy گفته می شود و به مقادیری که true هستند truthy گفته می شود. تابع Boolean() پارامتر خود را به یک مقدار بولین تبدیل می کند. ما می توانیم از آن برای تست کردن روش تفسیر مقادیر استفاده کنیم:

> Boolean(undefined)
false
> Boolean(0)
false
> Boolean(3)
true
> Boolean({}) // empty object
true
> Boolean([]) // empty array
true

 


عملگرهای منطقی باینری

عملگرهای منطقی باینری در جاوا اسکریپت مانند اتصال کوتاه(short-circuiting) هستند. یعنی اگر اولین عملوند برای مشخص کردن نتیجه کافی باشد، عملوند دوم ارزیابی نمی شود. بعنوان مثال، در عبارت زیر، تابع foo() هرگز فراخوانی نمی شود:

false && foo()
true || foo()

علاوه بر این، عملگرهای منطقی باینری یکی از عملوندهای خود را برمی گردانند-که ممکن است بولین باشد یا نباشد. برای اینکه تشخیص دهیم کدام یک برگردانده می شوند نیاز به چک کردن حقیقت داریم:

در عملگر And یا &&

اگر اولین عملوند ارزش false داشته باشد، برگردانده می شود. در غیر این صورت عملوند دوم برگردانده می شود:

> NaN && 'abc'
NaN
> 123 && 'abc'
'abc'

در عملگر Or یا ||

اگر اولین عملوند ارزش true داشته باشد، برگردانده می شود در غیر این صورت دومین عملوند برگردانده می شود:

> 'abc' || 123
'abc'
> '' || 123
123

 


عملگرهای برابری

جاوا اسکریپت دو نوع برابری دارد:

  • برابری یا نابرابری  نرمال یا ملایم: مثل == یا =!
  • برابری یا نابرابری سخت گیرانه(Strict): مثل === یا ==!

 برابری نرمال، شامل بسیاری از مقادیر که برابر هستند می شود. جزئیات آن در مقاله ی برابری نرمال در صفحه 84 توضیح داده شده است که می تواند باگ ها و اشکالات را برطرف کند. بنابراین توصیه می شود که همواره از برابری سختگیرانه استفاده کنید.

  • بازدید: 695

نوشتن دیدگاه

لطفا نظرات خود را بیان کنید. به سوالات در سریع ترین زمان پاسخ داده خواهد شد.اما به نکات زیر توجه کنید:
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.

ارسال