En JavaScript Boolean representerar ett av två värden: true eller falskt.
Mycket ofta, i programmering, behöver du en datatyp som bara kan ha en av två värden, som
JA NEJ
PÅ AV
SANT FALSKT
För detta har JavaScript en Boolesk datatyp. Det kan bara ta värdena true eller false.
Du kan använda funktionen Boolean()
för att ta reda på om ett uttryck (eller en variabel) är Sann:
Boolean(10 > 9)
Prova själv →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Booleans</h1>
<p>Display the value of Boolean(10 > 9):</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = Boolean(10 > 9);
</script>
</body>
</html>
Eller ännu enklare:
(10 > 9)
10 > 9
Prova själv →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Booleans</h1>
<p>Display the value of 10 > 9:</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = 10 > 9;
</script>
</body>
</html>
Kapitlet JS-jämförelser ger en fullständig översikt över jämförelseoperatorer.
Kapitlet JS Villkor ger en fullständig översikt över villkorliga uttalanden.
Här är några exempel:
==
Beskrivning: lika med
Exempel:
if (day == "Monday")
>
Beskrivning: större än
Exempel:
if (salary > 9000)
<
Beskrivning: mindre än
Exempel:
if (age < 18)
Det booleska värdet för ett uttryck är grunden för alla JavaScript-jämförelser och villkor.
100
3.14
-15
"Hello"
"false"
7 + 1 + 3.14
Prova själv →
<!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>
Det booleska värdet 0 (noll) är false:
let x = 0;
Boolean(x);
Prova själv →
<!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>
Det booleska värdet -0 (minus noll) är falskt:
let x = -0;
Boolean(x);
Prova själv →
<!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>
Det booleska värdet för "" (tom sträng) är false:
let x = "";
Boolean(x);
Prova själv →
<!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>
Det booleska värdet för undefined är false:
let x;
Boolean(x);
Prova själv →
<!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>
Det booleska värdet för null är false:
let x = null;
Boolean(x);
Prova själv →
<!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>
Det booleska värdet för false är (du gissade rätt) false:
let x = false;
Boolean(x);
Prova själv →
<!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>
Det booleska värdet för NaN är false:
let x = 10 / "Hallo";
Boolean(x);
Prova själv →
<!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>
Normalt sett är JavaScript-booleaner primitiva värden skapade av bokstavliga ord:
let x = false;
Men booleaner kan också definieras som objekt med nyckelordet new
:
let y = new Boolean(false);
let x = false;
let y = new Boolean(false);
//
typeof x returns boolean
//
typeof y returns object
Skapa inte booleska objekt.
Nyckelordet nya
komplicerar koden och saktar ner körningshastigheten.
Booleska objekt kan ge oväntade resultat:
När du använder operatorn ==
är x och y lika:
let x = false;
let y = new Boolean(false);
Prova själv →
<!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>
När du använder operatorn ===
är x och y inte lika:
let x = false;
let y = new Boolean(false);
Prova själv →
<!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>
Notera skillnaden mellan (x==y) och (x===y).
(x == y)
sant eller falskt?
let x = new Boolean(false);
let y = new Boolean(false);
Prova själv →
<!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)
sant eller falskt?
let x = new Boolean(false);
let y = new Boolean(false);
Prova själv →
<!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>
Att jämföra två JavaScript-objekt returnerar alltid falskt.
För en fullständig referens, gå till vår Komplett JavaScript Boolean Referens.
Referensen innehåller beskrivningar och exempel på alla booleska egenskaper och metoder.