aboutsummaryrefslogtreecommitdiff
path: root/files/de/web/javascript/reference/global_objects/boolean/index.html
blob: 245c2d1a8b072c77aed16cbda7b2c5186a5dc100 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
---
title: Boolean
slug: Web/JavaScript/Reference/Global_Objects/Boolean
tags:
  - Boolean
  - Constructor
  - JavaScript
translation_of: Web/JavaScript/Reference/Global_Objects/Boolean
---
<div>{{JSRef}}</div>

<p>Das <strong><code>Boolean</code></strong> Objekt ist ein Objekt-Wrapper für einen booleschen Wert.</p>

<h2 id="Syntax" name="Syntax">Syntax</h2>

<pre class="syntaxbox"><code>new Boolean([<var>value</var>])</code></pre>

<h3 id="Parameters" name="Parameters">Parameter</h3>

<dl>
 <dt><code>value</code></dt>
 <dd>Optional. Der Anfangswert des <code>Boolean</code>-Objektes.</dd>
</dl>

<h2 id="Description" name="Description">Beschreibung</h2>

<p>Der als erster Parameter übergebene Wert wird, wenn nötig, in einen booleschen Wert umgewandelt. Wird der Wert ausgelassen oder ist <code>0</code>, <code>-0</code>, {{jsxref("null")}}, <code>false</code>, {{jsxref("NaN")}}, {{jsxref("undefined")}} oder der leere String (<code>""</code>), so besitzt das Objekt den Initialwert <code>false</code>. Alle anderen Werte, einschließlich eines Objektes oder des Strings <code>"false"</code>, erzeugen ein Objekt mit dem Initialwert <code>true</code>.</p>

<p>Die Werte <code>true </code>und <code>false </code>des <code>Boolean</code>-Objektes sind nicht zu verwechseln mit den primitiven Booleanwerten <code>true </code>und <code>false.</code></p>

<p>Jedes Objekt, dessen Wert nicht {{jsxref("undefined")}} oder {{jsxref("null")}} entspricht, einschließlich eines <code>Boolean-</code>Objektes, dessen Wert <code>false</code> ist, wird bei der Übergabe an eine Bedingung als <code>true</code> gewertet. Beispielsweise wird das folgende {{jsxref("Statements/if...else", "if")}} Konstrukt als <code>true</code> ausgewertet:</p>

<pre class="brush: js line-numbers  language-js"><code class="language-js"><span class="keyword token">var</span> x <span class="operator token">=</span> <span class="keyword token">new</span> <span class="class-name token">Boolean</span><span class="punctuation token">(</span><span class="string token">"false"</span><span class="punctuation token">)</span><span class="punctuation token">;</span>
<span class="keyword token">if</span> <span class="punctuation token">(</span>x<span class="punctuation token">)</span> <span class="punctuation token">{</span>
  <span class="comment token">// this code is executed</span>
<span class="punctuation token">}</span>
</code></pre>

<p>Dieses Verhalten trifft nicht auf primitive Boolwerte zu. Beispielsweise ergibt das folgende {{jsxref("Statements/if...else", "if")}} Konstrukt <code>false</code>:</p>

<pre class="brush: js">x = false;
if (x) {
  // this code is not executed
}
</pre>

<p>Ein <code>Boolean</code>-Objekt sollte nicht genutzt werden um einen nicht-booleschenWert in einen booleschen Wert umzuwandeln. In diesem Fall wäre es besser, den Boolean als Funktion zu verwenden:</p>

<pre class="brush: js">x = Boolean(expression);     // preferred
x = new Boolean(expression); // don't use
</pre>

<p>Wird ein Objekt, einschließlich eines <code>Boolean</code>-Objektes dessen Wert <code>false</code> ist, als Anfangsparameter an das <code>Boolean-</code>Objekt übergeben, so hat das neue <code>Boolean</code>-Objekt den Wert <code>true</code>.</p>

<pre class="brush: js">myFalse = new Boolean(false);   // initialer Wert von false
g = Boolean(myFalse);       // initialer Wert von  true
myString = new String('Hello'); // string objekt
s = Boolean(myString);      //  initialer Wert von true
</pre>

<p>Ein <code>Boolean</code>-Objekt darf nicht anstelle eines primitiven <code>Boolean-wertes </code>verwendet werden.</p>

<div class="note">
<p><strong>Hinweis:</strong> Wenn die nicht standardisierte Eigenschaft <code><a href="/de/docs/Web/API/Document#Properties">document.all</a></code> als Argument für den Konstruktor benutzt wird, ist das Resultat ein <code>Boolean</code> Objekt mit dem Wert <code>false</code>. Diese Eigenschaft ist veraltet und nicht standardisierte und darf nicht eingesetzt werden.</p>
</div>

<h2 id="Properties" name="Properties">Eigenschaften</h2>

<dl>
 <dt><code>Boolean.length</code></dt>
 <dd>Längen-Eingeschaft, die den Wert 1 hat.</dd>
 <dt>{{jsxref("Boolean.prototype")}}</dt>
 <dd>Repräsentiert den Prototypen für den <code>Boolean</code> Konstruktor</dd>
</dl>

<h2 id="Methods" name="Methods">Methoden</h2>

<p>Das globale Objekt <code>Boolean</code> enthält zwar keine eigenen Methoden, erbt jedoch einige seiner Methoden durch die Prototypenkette:</p>

<h2 id="Boolean_instances" name="Boolean_instances"><code>Boolean</code> Instanzen</h2>

<p>Alle Instanzen von <code>Boolean</code> erben von {{jsxref("Boolean.prototype")}}. Wie bei allen Konstruktoren diktiert das Prototyp-Objekt die geerbten Eigenschaften und Methoden der Child-Elemente.</p>

<h3 id="Eigenschaften">Eigenschaften</h3>

<div>{{page('/de/docs/Web/JavaScript/Reference/Global_Objects/Boolean/prototype', 'Eigenschaften')}}</div>

<h3 id="Methoden">Methoden</h3>

<div>{{page('/de/docs/Web/JavaScript/Reference/Global_Objects/Boolean/prototype', 'Methoden')}}</div>

<h2 id="Examples" name="Examples">Beispiele</h2>

<h3 id="Example:_Creating_Boolean_objects_with_an_initial_value_of_false" name="Example:_Creating_Boolean_objects_with_an_initial_value_of_false">Erstellung eines <code>Boolean</code> Objektes mit dem Anfangswert <code>false</code></h3>

<pre class="brush: js">var bNoParam = new Boolean();
var bZero = new Boolean(0);
var bNull = new Boolean(null);
var bEmptyString = new Boolean('');
var bfalse = new Boolean(false);
</pre>

<h3 id="Example:_Creating_Boolean_objects_with_an_initial_value_of_true" name="Example:_Creating_Boolean_objects_with_an_initial_value_of_true">Erstellung eines <code>Boolean</code> Objektes mit dem Anfangswert <code>true</code></h3>

<pre class="brush: js">var btrue = new Boolean(true);
var btrueString = new Boolean('true');
var bfalseString = new Boolean('false');
var bSuLin = new Boolean('Su Lin');
var bArrayProto = new Boolean([]);
var bObjProto = new Boolean({});
</pre>

<h2 id="Spezifikationen">Spezifikationen</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">Spezifikation</th>
   <th scope="col">Status</th>
   <th scope="col">Kommentar</th>
  </tr>
  <tr>
   <td>{{SpecName('ES1')}}</td>
   <td>{{Spec2('ES1')}}</td>
   <td>Ursprüngliche Definition. Implementiert in JavaScript 1.0.</td>
  </tr>
  <tr>
   <td>{{SpecName('ES5.1', '#sec-15.6', 'Boolean')}}</td>
   <td>{{Spec2('ES5.1')}}</td>
   <td> </td>
  </tr>
  <tr>
   <td>{{SpecName('ES6', '#sec-boolean-objects', 'Boolean')}}</td>
   <td>{{Spec2('ES6')}}</td>
   <td> </td>
  </tr>
  <tr>
   <td>{{SpecName('ESDraft', '#sec-boolean-objects', 'Boolean')}}</td>
   <td>{{Spec2('ESDraft')}}</td>
   <td> </td>
  </tr>
 </tbody>
</table>

<h2 id="Browserkompatibilität">Browserkompatibilität</h2>

<div>


<p>{{Compat("javascript.builtins.Boolean")}}</p>
</div>

<h2 id="See_also" name="See_also">Siehe auch</h2>

<ul>
 <li>{{jsxref("Boolean.prototype")}}</li>
 <li>{{Glossary("Boolean")}}</li>
 <li><a href="https://de.wikipedia.org/wiki/Boolesche_Variable">Boolesche Variablen (Wikipedia)</a></li>
</ul>