Nepatiess vai Patiess / Truthy vai Falsy JavaScript

 

Patiess/truthy

Programmā JavaScript patiesā vērtība ir vērtība, kas tiek uzskatīta par patiesu, ja tā tiek sastapta Būlean kontekstā. Visas vērtības ir patiesas, ja vien tās nav definētas kā nepatiesas. Tas nozīmē, ka visas vērtības ir patiesas, izņemot false, 0, -0, 0n, “”, null, undefined un NaN.

JavaScript izmanto tipa piespiešanu Būlean kontekstos.

Patieso vērtību piemēri JavaScript (kas tiks piespiesti uz true Būlean kontekstā un tādējādi izpildīs if bloku):

if (true)
if ({})
if ([])
if (42)
if ("0")
if ("false")
if (new Date())
if (-42)
if (12n)
if (3.14)
if (-3.14)
if (Infinity)
if (-Infinity)

Loģiskais operators UN, &&

Ja pirmais objekts ir patiess, loģiskais operators UN atgriež otro operandu:

true && "dog"
// returns "dog"

[] && "dog"
// returns "dog"

Nepatiess / Falsy

Nepatiesa (dažkārt rakstīta nepatiesa Falsey) vērtība ir vērtība, kas tiek uzskatīta par nepatiesu, ja tā tiek atrasta Būlean kontekstā.

JavaScript izmanto tipa konvertēšanu, lai piespiestu jebkuru Būlean vērtību kontekstā, kurā tas ir nepieciešams, piemēram, nosacījumos un cilpās.

Šajā tabulā ir sniegts pilns JavaScript nepatieso vērtību saraksts:

Vērtība Apraksts
false Atslēgvārds false.
0  cipars nulle (so, also 0.0, etc., un 0x0).
-0  cipars negatīvs nulle (so, also -0.0, etc., un -0x0).
0n  BigInt nulle (so, also 0x0n). Pievērs uzmanību, ka šeit nav BigInt negatīva nulle — negatīvs no 0n is 0n.
"", '', `` tukša string vērtība.
null null — nekādas vērtības neesamība.
undefined undefined — primitīvā vērtība
NaN NaN — nav skaitliska vērtība.
document.all Objekti ir nepatiesi tad un tikai tad, ja tiem ir [[IsHTMLDDA]] iekšējais slots. Šis slots pastāv tikai document.all un to nevar iestatīt, izmantojot JavaScript.

Piemēri
Nepatiesu JavaScript vērtību piemēri (kuras Būlean kontekstā tiek piespiesti uz false un tādējādi apiet(neizpilda) if bloku):

if (false) {
// Nav izpildāms
}

if (null) {
// Nav izpildāms
}

if (undefined) {
// Nav izpildāms
}

if (0) {
// Nav izpildāms
}

if (-0) {
// Nav izpildāms
}

if (0n) {
// Nav izpildāms
}

if (NaN) {
// Nav izpildāms
}

if ("") {
// Nav izpildāms
}

Loģiskais operators UN, &&

Ja pirmais objekts ir nepatiess, tas atgriež šo objektu:

console.log(false && "dog");
// ↪ false

console.log(0 && "dog");
// ↪ 0

 

Loading

Noderīgs raksts? Dalies ar citiem: