320
Rozdział 7.
Prawda i fałsz
JavaScript uwzględnia fałsz
Jeszcze raz przypominamy, że zrozumienie tego, co będzie uznawane za
prawdę, a co za fałsz, sprowadza się do zapamiętania, co będzie fałszem
— bo wszystko pozostałe będzie prawdą.
Poniżej przedstawiliśmy pięć wartości, które JavaScript traktuje jak
logiczny fałsz.
Fałszem jest udefined.
Fałszem jest null.
Fałszem jest 0.
Fałszem jest także pusty łańcuch znaków.
Fałszem jest też NaN.
A zatem każde wyrażenie warunkowe przedstawione na poprzedniej stronie
zostanie potraktowane tak, jak gdyby została w nim umieszczona wartość
false
. A czy wspominaliśmy, że każda inna wartość (oczywiście z wyjątkiem
false
) zostanie potraktowana jak wartość
true
? Oto kilka przykładów
wartości, które zostaną potraktowane jak logiczna prawda.
Aby wiedzieć, które wartości
będą traktowane jak prawda,
a które jak fałsz, wystarczy
nauczyć się na pamięć tych,
które będą uznawane za fałsz
— undefined, null, 0, ""
oraz NaN — i zapamiętać,
że wszystko inne będzie
potraktowane jak prawda.
if ([]) {
// to siÚ zdarzy naprawdÚ
}
var element = document.getElementById(”elementThatDoesExist”);
if (element) {
// podobnie jak i to
}
if (1) {
// takĝe i to siÚ zdarzy
}
var string = ”litoĂci...”;
if (string) {
// i to röwnieĝ siÚ zdarzy
}
To jest tablica. Tablica nie jest
ani undefined, ani null, ani 0, ani „”,
ani NaN. Zatem tablica jest prawdą!
W tym przypadku dysponujemy faktycznym
obiektem elementu. Obiekt nie jest żadną
z pięciu wartości traktowanych jak fałsz,
zatem zostanie uznany za prawdę.
Z liczb tylko 0 jest traktowane jak fałsz,
wszystkie inne są prawdą.
Jedynie pusty łańcuch znaków
jest fałszem, każdy inny jest
prawdą.
jesteś tutaj
321
Typy, równość, konwersje i cały ten jazz
Nadszedł czas na szybki test wykrywaczem kłamstw. Określ, czy przestępca mówi
prawdę, czy kłamie oraz czy jest winny zarzucanych mu czynów. W tym celu musisz
określić, które wartości będą prawdą, a które fałszem. Zanim przejdziesz do dalszej
lektury, sprawdź poprawne odpowiedzi, które zamieściliśmy pod koniec tego rozdziału.
Możesz także samodzielnie wypróbować działanie tego kodu w przeglądarce.
function lieDetectorTest() {
var lies = 0;
var stolenDiamond = { };
if (stolenDiamond) {
console.log(”UkradïeĂ diament!”);
lies++;
}
var car = {
keysInPocket: null
};
if (car.keysInPocket) {
console.log(”Oo, ukradïeĂ takĝe samochöd!”);
lies++;
}
if (car.emptyGasTank) {
console.log(”Takĝe jechaïeĂ ukradzionym samochodem!”);
lies++;
}
var foundYouAtTheCrimeScene = [ ];
if (foundYouAtTheCrimeScene) {
console.log(”To oczywisty dowöd przestÚpstwa!”);
lies++;
}
if (foundYouAtTheCrimeScene[0]) {
console.log(”Znaleziono przy tobie ukradziony diament!”);
lies++;
}
var yourName = ” ”;
if (yourName) {
console.log(”Dodatkowo skïamaïeĂ, podajÈc swoje personalia”);
lies++;
}
return lies;
}
var numberOfLies = lieDetectorTest();
console.log(”SkïamaïeĂ ” + numberOfLies + ” razy!”);
if (numberOfLies >= 3) {
console.log(”Winny wszystkich zarzutöw!”);
}
To łańcuch składający się
z jednego znaku odstępu.
Zaostrz ołówek

Get Programowanie w JavaScript Rusz głową! now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.