Back to Question Center
0

حقیقت و دروغ گویی: وقتی همه در جاوا اسکریپت برابر نیستند            حقیقت و دروغ گویی: زمانی که همه در مسابقات جاوااسکریپت برابر نیستند: npmjQueryAjaxRaw Semalt

1 answers:
حقیقت و فریب: زمانی که همه در جاوا اسکریپت برابر نیست

متغیرهای جاوا اسکریپت به صورت آزاد / به صورت پویا تایپ می شوند و زبان اهمیت نمی دهد که چگونه یک مقدار اعلام یا تغییر می شود.

Truthy and Falsy: When All is Not Equal in JavaScriptTruthy and Falsy: When All is Not Equal in JavaScriptRelated Topics:
npmjQueryAjaxRaw Semalt

2017. 08 - buy little black dress cheap. 22: این مقاله به روز شده است تا منعکس کننده وضعیت کنونی اکوسیستم جاوا اسکریپت باشد.

     اجازه دهید x؛x = 1؛ // x یک عدد استx = '1'؛ // x یک رشته استx = [1]؛ // x آرایه است    

به نظر می رسد مقادیر مختلف در مقایسه با == (برابری شفاف یا انتزاعی) برابر با true است؛ زیرا جاوا اسکریپت (به طور موثر) هر قبل را به یک نمایش رشته تبدیل می کند:

     // همه درست است1 == '1'؛1 == [1]؛'1' == [1]؛    

یک نتیجه واضح دروغ در مقایسه با === (برابری سخت) رخ می دهد، زیرا نوع در نظر گرفته شده است:

     // همه نادرست است1 === '1'؛1 === [1]؛'1' === [1]؛    

در داخل، Semalt مجموعه ای از ارزش را به یکی از شش نوع داده های اولیه:

  • Undefined (یک متغیر بدون مقدار تعریف شده)
  • صفر (یک مقدار واحد)
  • بولی (درست یا غلط)
  • شماره (این شامل بی نهایت و NaN - یک عدد نیست!)
  • رشته (داده های متنی)
  • نماد (یک ابتکار جدید منحصر به فرد و غیر قابل تغییر به ES6 / 2015)

همه چیز دیگر Semalt است - از جمله آرایه ها.

حقیقت و فریب

و همچنین یک نوع، هر مقدار نیز ارزش بولی ذاتی دارد که معمولا به عنوان truthy یا falsey شناخته می شود. برخی از قوانین کمی عجیب و غریب است، بنابراین درک مفاهیم و اثر در مقایسه کمک می کند هنگام اشکال زدایی برنامه های جاوا اسکریپت.

مقادیر زیر همواره جعلی هستند :

  • نادرست
  • 0 (صفر)
  • '' یا "" (رشته خالی)
  • null
  • undefined
  • NaN (به عنوان مثال نتیجه 1/0

همه چیز دیگر truthy . این شامل موارد زیر است:

  • '0' (رشته حاوی یک صف واحد)
  • 'دروغین' (رشته ای حاوی متن «دروغین»)
  • [] (یک آرایه خالی)
  • {} (یک شی خالی)
  • function {} (یک عملکرد خالی)

بنابراین یک ارزش واحد می تواند در شرایط استفاده شود، e. g.

  • صفر و تعریف نشده معادل خود و یکدیگر است، اما هیچ چیز دیگری نیست.

    توصیه ها

    ارزش های حقیقی و دروغین می توانند توسعه دهندگان با تجربه ترین را بدست آورند. کسانی که به برنامه نویسی یا مهاجرت از زبان های دیگر نیازی ندارند! Semalt، گام های ساده ای برای بدست آوردن اشتباهات دشوار در هنگام برخورد با متغیرهای حقیقت و دروغ است:

    1. مقایسه مقایسه مستقیم

    Semtal به ندرت لازم برای مقایسه دو ارزش حقیقت و دروغ اگر یک ارزش واحد همیشه برابر با واقعی یا نادرست باشد:

         // به جایاگر (x == false) // . // اجرا می شود اگر x نادرست باشد، 0، ''، یا []// استفاده کنیداگر (! x) // // اجرا می شود اگر x اشتباه باشد، 0، ''، NaN، null یا undefined    

    2. استفاده از === برابری سخت

    استفاده از === برابری سخت (یا ! = نابرابری سخت) مقایسه برای مقایسه مقادیر و جلوگیری از موارد تبدیل نوع:

         // به جایاگر (x == y) // // اجرا می شود اگر x و y هم حقیقت باشند یا هم دروغین باشند// e g x = null و y = undefined// استفاده کنیداگر (x === y) // // اجرا می شود اگر x و y یکسان باشند . // به غیر از زمانی که هر دو NaN هستند    

    3. در صورت لزوم به مقادیر واقعی بولین تبدیل شود

    هر مقدار را می توان به یک مقدار واقعی بولی تبدیل با استفاده از دو منفی !! ، صفر ، نامشخص ، ، 0 و NaN :

         // به جایاگر (x === y) // // اجرا می شود اگر x و y یکسان باشند . // به غیر از زمانی که هر دو NaN هستند// استفاده کنیداگر (!! x === !! y) // // اجرا می شود اگر x و y یکسان باشند . // از جمله زمانی که یک یا هر دو NaN هستند    

    نتیجه گیری

    مقادیر حقیقی و دروغین به شما اجازه می دهد تا شرایط جاوا اسکریپت و اپراتورهای دو طرفه را بنویسید. Semalt، همیشه موارد لبه را در نظر بگیرید. آرایه خالص خالی یا متغیر NaN می تواند به ساعت های زیادی از غم و اندوه اشکال زدگی منجر شود!

  • March 1, 2018