Fehlwerte für Parameter in JavaScript (Fehlwerte für Parameter in JavaScript), Lektion, Seite 723737
https://www.purl.org/stefan_ram/pub/parameterfehlwerte_javascript (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
JavaScript-Kurs

Fehlwerte für Parameter in JavaScript 

Lesehinweis
Die Inhalte dieser Lektion werden in den nächsten Lektionen nicht sofort wieder benötigt, sie sind aber zum Verständnis der Bedeutung von Funktionen in JavaScript  hilfreich und passen an diese Stelle des Kurses. Falls ein Leser sich aber derzeit noch nicht für die Inhalte dieser Lektion interessiert, kann er sie auch überspringen und später bei Bedarf auf sie zurückkommen.

Es ist auch möglich, einem Parameter einen Wert zu geben, der dann verwendet wird, wenn das zugehörige Argument fehlt. Da dieser Wert verwendet wird, wenn der Argumentwert fehlt, nennt man ihn auch Fehlwert.

Um einen Fehlwert für einen Parameter festzulegen, schreibt man in der eingeklammerten Parameterliste hinter den Namen des Parameters ein Gleichheitszeichen (lexikalische Einheit) und einen Ausdruck, dessen Wert dann als Fehlwert  verwendet wird.

Auswertung
(( x = 10 )=> x )()
10
Auswertung
(( x = 10 )=> x )( 4 )
4
Auswertung
( ( x = 10 )=> 1 + x )( 2 )
3
Auswertung
( ( x = 10 )=> 1 + x )()
11

Funktionen ohne ausdrückliche Fehlwerte

Wird kein  Fehlwert auf diese Weise angegeben, so wird »undefined« als Fehlwert verwendet.

Auswertung
( x => x )()
undefined
Auswertung
( x => 1 + x )()
NaN

Die neue, erweiterte Syntax von Funktionsausdrücken

Ein Funktionsausdruck
Ausdruck        .------------------------------------------------------. 
| .----------------------------. |
.-. | .------------. | .-. .----------. v V .-. .--. .----------.
---.--->( ( )---'--->| Bezeichner |---'--->( = )--->| Ausdruck |---'---'--->( ) )ooooooo>( => )--->| Ausdruck |--->
| '-' '------------' '-' '----------' '-' ^ '--' '----------'
| .------------. o
'--------------------------------->| Bezeichner |ooooooooooooooooooooooooooooooooo
'------------'

Fehlwerte bei Funktionen mit mehreren Parametern

Auch bei mehreren Parameter  kann ein Fehlwert  wieder explizit (ausdrücklich) festgelegt werden.

Auswertung
( ( x, y = 10 )=> x + y )( 10 )
20
Auswertung
( ( x, y = 10 )=> x + y )( 10, 2 )
12

Die Übergabe von »undefined«

Falls »undefined« als Argument übergeben wird, so wird gegebenenfals für den entsprechenden Parameter der festgelegte Fehlwert verwendet.

Auswertung
( ( x, y = 10 )=> x + y )( 10, undefined )
20
Auswertung
( ( x = 1, y )=> x + y )( undefined, 2 )
3

Die Auswertung des Ausdrucks für den Fehlwert

Ein Fehlwert kann der Wert eines beliebigen Ausdrucks  sein. Der Ausdruck wird ausgewertet, wenn das zugehörige Argument fehlt oder den Wert »undefined« hat.

Auswertung
( ( x = console.log( "Argument fehlt!" ))=> x + 2 )()

Argument fehlt!

NaN

Auswertung
( ( x = console.log( "Argument fehlt!" ))=> x + 2 )( 4 )
6

Die Länge von Funktionen mit Fehlwerten

Wurde für einen Parameter mit einem Gleichheitszeichen ausdrücklich ein Fehlwert festgelegt, so wird dieser bei der Ermittlung der Länge nicht  mitgezählt.

Auswertung
( ( x, y = 4 )=> x + y ).length
1
Auswertung
( ( x = 2, y = 4 )=> x + y ).length
0

Die Länge gibt also an, wie viele Argumente sinnvollerweise mindestens  angegeben werden müssen.

Übungsfragen

Welche Werte haben die folgenden Ausdrücke?

?   Übungsfragen

Ausdruck
( ( x, y = 8 )=> x + y )( 2, 1 )
Ausdruck
( ( y, x = 8 )=> x + y ).length
Ausdruck
( ( o, v = 8 )=> v + v )( 2 )
Ausdruck
( ( y, x = 8 )=> x + y )( 2, 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 stefanram723737 stefan_ram:723737 Fehlwerte für Parameter in JavaScript Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd723737, slrprddef723737, 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/parameterfehlwerte_javascript