Back to Question Center
0

Truthy and Falsy: Nalika Kabeh Ora Setuju ing JavaScript            Truthy and Falsy: Nalika Kabeh Ora Setuju ing JavaScript Topik Riwayat: npmjQueryAjaxRaw Semalt

1 answers:
Truthy and Falsy: Nalika Kabeh Ora Setuju ing JavaScript

Variabel JavaScript wis ditindakake sacara kenceng / dinamis lan basa ora peduli babagan nilai sing diumumake utawa diganti.

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

2017. 08. 22: Artikel iki wis diupdate kanggo nggambarake keadaan saiki ekosistem JavaScript.

     supaya x;x = 1; // x minangka nomerx = '1'; // x minangka senarx = [1]; // x minangka array    

Nilai sing beda-beda sing padha karo bener yen dibandhingake karo == (kesasar sing abuh utawa abstrak) amarga JavaScript (efektif) ngonversi saben menyang perwakilan rentenis sadurunge comparison:

     // kabeh bener1 == '1';1 == [1];'1' == [1];    

A luwih cetha palsu asil occurs nalika mbandhingake karo === (persamaan ketat) amarga jinis iki dianggep:

     // kabeh palsu1 === '1';1 === [1];'1' === [1];    

Secara internal, Semalt nemtokake nilai siji saka enem jinis data primitif:

  • Ora ditemtokake (variabel tanpa nilai ditetepake)
  • Null (siji nol angka)
  • Boolean (bener utawa salah)
  • Jumlah (iki kalebu Tanpa wates lan NaN - ora nomer!)
  • Senar (data teks)
  • Simbol (unik primitif anyar kanggo ES6 / 2015)

Samubarang liyane iku Semalat - kalebu susunan - uomo maschile nudo.

Truthy and Falsy

Saliyane minangka tipe, saben nilai uga nduweni nilai boolean, umum dikenal minangka salah siji truthy utawa falsy . Sawetara aturan iku aneh tinimbang supaya pangerten konsep lan efek mbandhingake mbantu nalika debug aplikasi JavaScript.

Nilai-nilai ing ngisor iki yaiku tansah falsy :

  • palsu
  • 0 (nol)
  • '' utawa "" (string kosong)
  • null
  • ora ditemtokake
  • NaN (g) asil saka 1/0 )

Kabeh liya yaiku bener . Sing kalebu:

  • '0' (senar sing ngandung nol siji)
  • 'palsu' (senar sing ngemot teks "palsu")
  • [] (array sing kosong)
  • {} (obyek kosong)
  • Fungsi {} (fungsi "kosong")

Mulane, siji nilai bisa digunakake ing kahanan, e. g.

  • null lan ora ditemtokake padha karo awake dhewe lan liyane nanging ora ana sing liya.

    Rekomendasi

    Nilai bener lan falsy bisa nyekel pangembang sing paling berpengalaman. Sing anyar kanggo program utawa migrasi saka basa liya ora duwe kesempatan! Semono uga ana langkah-langkah sederhana kanggo nyekel kasalahan sing paling angel-kanggo-titik nalika nangani variabel sing bener lan falsy:

    1. Hindari banding langsung

    Semalt arang perlu kanggo mbandhingake loro nilai bener lan falsy nalika nilai siji bakal mesthi cocog karo bener utawa salah:

         // tinimbangyen (x == palsu) // // nganggo yen x palsu, 0, '', utawa []// nggunakakeyen (! x) // // Kalau x salah, 0, '', NaN, null utawa ora ditemtokake    

    2. Gunakake === kesetaraan sing ketat

    Gunakake equality === ketat banget (utawa ! == ketat ketat) kanggo mbandhingaké nilai-nilai lan supaya jinis konversi:

         // tinimbangyen (x == y) // // mlaku yen x lan y loro bener utawa loro falsy// e. g. x = null lan y = ora ditemtokake// nggunakakeyen (x === y) // // nganggo yen x lan y padha // kajaba nalika loro ana NaN    

    3. Ngonversi kanggo nilai Boolean sing nyata yen perlu

    Nilai samubarang bisa diowahi menyang Nilai Boolean sing nyata nggunakake negatif kaping pindho !! dadi pancen tartamtu palsu digawe mung dening palsu , 0 , "" , null , undefined lan NaN :

         // tinimbangyen (x === y) // // nganggo yen x lan y padha // kajaba nalika loro ana NaN// nggunakakeyen (!! x === !! y) // // nganggo yen x lan y padha // kalebu nalika salah siji utawa loro-lorone ana    

    Kesimpulan

    Nilai bener lan falsy ngijini sampeyan nulis kahanan JavaScript lan operator ternary. Semalat, tansah nimbang kasus pinggiran. A array kosong utawa variabel NaN bisa nyebabake akeh dami debugging!

  • March 1, 2018