161 lines
4.5 KiB
Plaintext
161 lines
4.5 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "f005ac12-f7b6-44ed-99bd-def52028b315",
|
|
"metadata": {
|
|
"editable": false,
|
|
"slideshow": {
|
|
"slide_type": ""
|
|
},
|
|
"tags": []
|
|
},
|
|
"source": [
|
|
"# Wahrheitswerte\n",
|
|
"Der dritte wichtige Datentyp neben `string` und `number` sind Wahrheitswerte. Sie werden auch boolesche Werte genannt. Boolesche Werte kennen nur zwei Zustände: `true` und `false`.\n",
|
|
"\n",
|
|
"Mit booleschen Werten kann man ähnlich \"rechnen\" wie mit Zahlen. JavaScript kennt drei boolesche Operatoren:\n",
|
|
"* `&&` (und)\n",
|
|
" * `&&` verknüpft zwei boolesche Werte. Sind beide Werte `true`, ist das Ergebnis auch `true`. In allen anderen Fällen ist es `false`.\n",
|
|
"* `||` (oder)\n",
|
|
" * Bei `||` ist das Ergebnis `false`, wenn beide Eingangswerte auch `false` sind. In allen anderen Fällen ist das Ergebnis `true`.\n",
|
|
"* `!` (nicht)\n",
|
|
" * `!` wird nur auf einen booleschen Wert angewendet und invertiert diesen Wert: aus `true` wird `false` und aus `false` wird `true`.\n",
|
|
" \n",
|
|
"```\n",
|
|
"let x1 = true && false;\n",
|
|
"let x2 = !x1;\n",
|
|
"let x3 = x1 || x2;\n",
|
|
"```\n",
|
|
"\n",
|
|
"* `x1` ist `false`\n",
|
|
"* `x2` ist `true`\n",
|
|
"* `x3` ist `true`\n",
|
|
"\n",
|
|
"*Anmerkung: `x1`, `x2` und `x3` sind damit automatisch vom Datentyp `boolean`, ohne dass dies explizit angegeben werden muss.*"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"id": "8c60bf4a-7f20-46d3-be56-96228d5dd0c6",
|
|
"metadata": {
|
|
"editable": false,
|
|
"slideshow": {
|
|
"slide_type": ""
|
|
},
|
|
"tags": []
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"false\n",
|
|
"false\n",
|
|
"true\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"console.log( true && false ); // Ausgabe: false\n",
|
|
"console.log( !true ); // Ausgabe: false\n",
|
|
"console.log( true || false ); // Ausgabe: true"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "d8a82694-693a-44a3-9c0d-383531b19036",
|
|
"metadata": {
|
|
"editable": false,
|
|
"slideshow": {
|
|
"slide_type": ""
|
|
},
|
|
"tags": []
|
|
},
|
|
"source": [
|
|
"# Vergleiche\n",
|
|
"Zahlen kann man mit den aus der Mathematik bekannten Zeichen `>`, `>=`, `<` und `<=` auf größer, größer gleich, kleiner und kleiner gleich vergleichen. Im folgenden Beispiel liefern alle Ausdrücke den Wert `true`:\n",
|
|
"```\n",
|
|
"let v1 = 5 > 4;\n",
|
|
"let v2 = 5 >= 5;\n",
|
|
"let v3 = 5 < 6;\n",
|
|
"let v4 = 5 <= 5;\n",
|
|
"```\n",
|
|
"\n",
|
|
"Zwei Werte kann man auch auf strikte Gleichheit überprüfen. Das Ergebnis eines solchen Vergleichs ist entweder `true`, die beiden Werte sind gleich, oder `false`, die beiden Werte sind ungleich. Der Operator für strikte Gleichheit ist `===`.\n",
|
|
"\n",
|
|
"Im Gegensatz dazu gibt es auch den aus anderen Programmiersprachen bekannten Operator `==`. Dieser liefert ebenfalls `true` z.B. wenn die Datentypen unterschiedlich sind, jedoch der Inhalt gleich ist:\n",
|
|
"```\n",
|
|
"let v5 = 1 === 1; // liefert `true`\n",
|
|
"let v6 = 1 === '1'; // liefert `false`, da die Datentypen unterschiedlich sind\n",
|
|
"let v7 = 1 == '1'; // liefert `true`, da bei Typumwandlung der Inhalt gleich ist\n",
|
|
"```"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"id": "972f23b8-0a4d-4b70-953a-883949688896",
|
|
"metadata": {
|
|
"editable": false,
|
|
"slideshow": {
|
|
"slide_type": ""
|
|
},
|
|
"tags": []
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"true\n",
|
|
"true\n",
|
|
"false\n",
|
|
"true\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"console.log( 5 > 4 ) // Ausgabe: true\n",
|
|
"console.log( 5 >= 5 ) // Ausgabe: true\n",
|
|
"console.log( 1 === '1' ) // Ausgabe: false\n",
|
|
"console.log( 1 == '1' ) // Ausgabe: true"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "bb9081df-6937-4709-b477-4c7fbbb6512c",
|
|
"metadata": {
|
|
"editable": false,
|
|
"slideshow": {
|
|
"slide_type": ""
|
|
},
|
|
"tags": []
|
|
},
|
|
"source": [
|
|
"# Regel für den Unterricht\n",
|
|
"**In aller Regel verwenden wir im Unterricht die strikte Gleichheit `===`**"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Deno",
|
|
"language": "typescript",
|
|
"name": "deno"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": "typescript",
|
|
"file_extension": ".ts",
|
|
"mimetype": "text/x.typescript",
|
|
"name": "typescript",
|
|
"nbconvert_exporter": "script",
|
|
"pygments_lexer": "typescript",
|
|
"version": "5.8.3"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
}
|