Die bedingte Ausführung in JavaScript (Die bedingte Ausführung in JavaScript), Lektion, Seite 722811
https://www.purl.org/stefan_ram/pub/bedingte_ausfuehrung_javascript (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
JavaScript-Kurs

Die bedingte Auswertung in JavaScript 

Die Syntax der bedingten Auswertung

Bedingte Auswertung

Anweisung

.--. .-. .----------. .-. .-----------.
--->( if )--->( ( )--->| Ausdruck |--->( ) )--->| Anweisung |--->
'--' '-' '----------' '-' '-----------'

Die Semantik der bedingten Auswertung

Zunächst wird der Ausdruck ausgewertet.

Falls der Wert des Ausdrucks als wahr gilt, so wird die Anweisung ausgewertet, und der Wert der gesamten if-Anweisung ist dann der Wert jener Anweisung (oder »undefined«, falls die Anweisung keinen Wert produzierte).

Falls der Wert des Ausdrucks als falsch gilt, so ist das Ergebnis der if-Anweisung »undefined«.

Die Anweisung wird also nur unter einer bestimten Bedingung ausgewertet, sie wird bedingt ausgewertet. Daher ergibt sich die Bezeichnung bedingte Auswertung  für die hier vorgestellt Form der if-Anweisung.

Entsprechend der Bedeutung können wir auch die Bezeichnungen wie in dem folgenden Diagramm wählen.

Bedingte Auswertung

Anweisung

.--. .-. .-----------. .-. .------------.
--->( if )--->( ( )--->| Bedingung |--->( ) )--->| Konsequenz |--->
'--' '-' '-----------' '-' '------------'

Beispiel einer if-Anweisung
if( 0 )1;
mögliche (nicht ganz) deutschsprachige Formulierung des Beispiels
Wenn 0, dann 1.

Beispiele der bedingten Auswertung

Auswertung
if( console.log( "a" ))0;

a

undefined

Auswertung
if( 0 )1;
undefined
Auswertung
if( 1 )2;
2
Auswertung
if( 0 )console.log( 1 ); console.log( 2 );

2

undefined

Auswertung
if( 1 )console.log( 2 ); console.log( 3 );

2

3

undefined

Auswertung
if( 0 ){ console.log( 1 ); console.log( 2 ); }
undefined
Auswertung
if( 1 ){ console.log( 2 ); console.log( 3 ); }

2

3

undefined

Vergleich mit dem ternären Ausdruck

Man kann sagen, daß die folgende bedingte Auswertung (mit einem Ausdruck »E « und einer Anweisung »S «) in vielen Fällen dem darunterstehenden ternären Ausdruck entspricht.

if-Anweisung
{ if( E  )S  }
ternärer Ausdruck in geschweiften Klammern
{ E  ? eval( "S " ): undefined; }

Es gibt unter andere folgende Unterschiede zwischen dem ternären Ausdruck und der bedingten Auswertung:

Übungsfragen

?   Übungsfrage

Welche Ausgaben erzeugt die folgende Sequenz?

Sequenz
if( 2 - 2 )console.log( "a" ); console.log( "b" );

?   Übungsfrage

Welche Ausgaben erzeugt die folgende Sequenz?

Sequenz
if( 2 - 3 )console.log( "a" ); console.log( "b" );

?   Übungsfrage

Welche Ausgaben erzeugt die folgende Sequenz?

Sequenz
if( "2 - 2" ){ console.log( "a" ); console.log( "b" ); }

?   Übungsfrage

Welche Ausgaben erzeugt die folgende Sequenz?

Sequenz
if( eval( "2 - 2" )){ console.log( "a" ); console.log( "b" ); }

?   Übungsfrage

Welche Ausgaben erzeugt die folgende Sequenz?

Sequenz
let x = 0; if( x = 2 ){ console.log( "a" ); console.log( "b" ); }

Übungsaufgaben

/   Schreiben einer if-Anweisung

Schreiben Sie eine if-Anweisung mit der Bedingung »x« und der Konsequenz »f();«.

Bedingte Auswertung

Anweisung

.--. .-. .-----------. .-. .------------.
--->( if )--->( ( )--->| Bedingung |--->( ) )--->| Konsequenz |--->
'--' '-' '-----------' '-' '------------'

/   Übersetzung

Übersetzen Sie die (nicht ganz) deutschsprachige Formulierung „Wenn n, dann Ausgabe von 22 “ in eine if-Anweisung.

Beispiel einer if-Anweisung
if( 0 )1;
mögliche (nicht ganz) deutschsprachige Formulierung des Beispiels
Wenn 0, dann 1.

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram722811 stefan_ram:722811 Die bedingte Ausführung in JavaScript Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd722811, slrprddef722811, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/bedingte_ausfuehrung_javascript