JavaScript Booleans


Sisällysluettelo

    Näytä sisällysluettelo

JavaScript Boolean edustaa yhtä kahdesta arvosta: true tai väärä.

Boolen arvot

Hyvin usein ohjelmoinnissa tarvitset tietotyypin, jolla voi olla vain yksi kahdesta arvosta, esim

  • KYLLÄ EI

  • ON/OFF

  • TOSI/EPÄTOSI

Tätä varten JavaScriptillä on Boolean-tietotyyppi. Se voi vain ota arvot true tai false.


Boolen()-funktio

Voit käyttää Boolean()-funktiota selvittääksesi, onko lauseke (tai muuttuja) totta:

Esimerkki

Boolean(10 > 9)

Kokeile itse →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Booleans</h1>
<p>Display the value of Boolean(10 &gt; 9):</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = Boolean(10 > 9);
</script>

</body>
</html>

Tai vielä helpommin:

Esimerkki

(10 > 9)
10 > 9

Kokeile itse →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Booleans</h1>
<p>Display the value of 10 &gt; 9:</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = 10 > 9;
</script>

</body>
</html>

Vertailut ja ehdot

Luku JS Comparisons antaa täydellisen yleiskatsauksen vertailuoperaattoreista.

Luku JS-ehdot antaa täydellisen yleiskatsauksen ehdollisista lauseista.

Tässä on joitain esimerkkejä:

==

Kuvaus: sama kuin

Esimerkki:

if (day == "Monday")

>

Kuvaus: suurempi kuin

Esimerkki:

if (salary > 9000)

<

Kuvaus: vähemmän kuin

Esimerkki:

if (age < 18)

Lausekkeen Boolen arvo on kaikkien JavaScript-vertailujen ja -ehtojen perusta.



Kaikki, jolla on "arvo", on totta

Esimerkkejä

100

3.14

-15

"Hello"

"false"

7 + 1 + 3.14

Kokeile itse →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Booleans</h1>
<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML =
"100 is " + Boolean(100) + "<br>" +
"3.14 is " + Boolean(3.14) + "<br>" +
"-15 is " + Boolean(-15) + "<br>" +
"Any (not empty) string is " + Boolean("Hello") + "<br>" +
"Even the string 'false' is " + Boolean('false') + "<br>" +
"Any expression (except zero) is " + Boolean(1 + 7 + 3.14);
</script>

</body>
</html>

Kaikki ilman "arvoa" on väärin

Boolen arvo 0 (nolla) on false:

let x = 0;
Boolean(x);

Kokeile itse →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Booleans</h1>
<p>Display the Boolean value of 0:</p>

<p id="demo"></p>

<script>
let x = 0;
document.getElementById("demo").innerHTML = Boolean(x);
</script>

</body>
</html>

Boolen arvo -0 (miinus nolla) on false:

let x = -0;
Boolean(x);

Kokeile itse →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Booleans</h1>
<p>Display the Boolean value of  -0:</p>

<p id="demo"></p>

<script>
let x = -0;
document.getElementById("demo").innerHTML = Boolean(x);
</script>

</body>
</html>

Arvon "" (tyhjä merkkijono) Boolen arvo on false:

let x = "";
Boolean(x);

Kokeile itse →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Booleans</h1>
<p>Display the Boolean value of "":</p>

<p id="demo"></p>

<script>
let x = "";
document.getElementById("demo").innerHTML = Boolean("");
</script>

</body>
</html>

undefined:n Boolen arvo on false:

let x;
Boolean(x);

Kokeile itse →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Booleans</h1>
<p>Display the Boolean value of undefined:</p>

<p id="demo"></p>

<script>
let x;
document.getElementById("demo").innerHTML = Boolean(x);
</script>

</body>
</html>

Boolen arvo null on false:

let x = null;
Boolean(x);

Kokeile itse →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Booleans</h1>
<p>Display the Boolean value of null:</p>

<p id="demo"></p>

<script>
let x = null;
document.getElementById("demo").innerHTML = Boolean(x);
</script>

</body>
</html>

Arvon false Boolen arvo on (arvasit sen) false:

let x = false;
Boolean(x);

Kokeile itse →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Booleans</h1>
<p>Display the Boolean value of false:</p>

<p id="demo"></p>

<script>
let x = false;
document.getElementById("demo").innerHTML = Boolean(x);
</script>

</body>
</html>

NaN:n Boolen arvo on false:

let x = 10 / "Hallo";
Boolean(x);

Kokeile itse →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Booleans</h1>
<p>Display the Boolean value of NaN:</p>

<p id="demo"></p>

<script>
let x = 10 / "Hello";
document.getElementById("demo").innerHTML = Boolean(x);
</script>

</body>
</html>

JavaScript Booleans objekteina

Normaalisti JavaScript-loogiset arvot ovat primitiivisiä arvoja, jotka on luotu literaaleista:

let x = false;

Boolean-arvot voidaan määritellä myös objekteiksi avainsanalla new:

let y = new Boolean(false);

Esimerkki

let x = false;
let y = new Boolean(false);

 //
typeof x returns boolean
 //
typeof y returns object

Älä luo Boolen objekteja.

Avainsana uusi monimutkaistaa koodia ja hidastaa sen suoritusnopeutta.

Boolen objektit voivat tuottaa odottamattomia tuloksia:

Kun käytät ==-operaattoria, x ja y ovat yht.:

let x = false;
let y = new Boolean(false);

Kokeile itse →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Booleans</h1>
<p>Booleans and Boolean objects cannot be safely compared:</p>

<p id="demo"></p>

<script>
let x = false;         // x is a boolean
let y = new Boolean(false);  // y is an object
document.getElementById("demo").innerHTML = (x==y);
</script>

</body>
</html>

Kun käytetään ===-operaattoria, x ja y eivät ole yhtä suuria:

let x = false;
let y = new Boolean(false);

Kokeile itse →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Booleans</h1>
<p>Booleans and Boolean objects cannot be safely compared:</p>

<p id="demo"></p>

<script>
let x = false;         // x is a Boolean
let y = new Boolean(false);  // y is an object
document.getElementById("demo").innerHTML = (x===y);
</script>

</body>
</html>

Huomaa ero (x==y) ja (x===y).

(x == y) tosi vai epätosi?

let x = new Boolean(false);
let y = new Boolean(false);

Kokeile itse →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Booleans</h1>
<p>Booleans and Boolean objects cannot be safely compared.</p>

<p id="demo"></p>

<script>
const x = new Boolean(false);
const y = new Boolean(false);
document.getElementById("demo").innerHTML = (x==y);
</script>

</body>
</html>

(x === y) tosi vai epätosi?

let x = new Boolean(false);
let y = new Boolean(false);

Kokeile itse →

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Booleans</h1>
<p>Booleans and Boolean objects cannot be safely compared.</p>

<p id="demo"></p>

<script>
const x = new Boolean(false);
const y = new Boolean(false);
document.getElementById("demo").innerHTML = (x===y);
</script>

</body>
</html>

Kahden JavaScript-objektin vertailu aina palauttaa false.

Täydellinen Boolen viite

Täydellinen viite löytyy kohdasta Täydellinen JavaScript Boolen viite.

Viite sisältää kuvauksia ja esimerkkejä kaikista Boolen ominaisuuksista ja menetelmistä.