Um dieses unerwünschte Ergebnis zu vermeiden, verwenden wir Standardparameter. Standardparameter sind die Parameter, die deren Standardwerte definiert haben, falls sie beim Aufrufen der Aufruffunktion fehlen.
Wir werden uns ein Beispiel ansehen, in dem wir aufgrund fehlender Argumente ein nicht befriedigendes Ergebnis erhalten, und dann werden wir es mit herkömmlichen und Standardparametern beheben. Aber zuerst lernen wir ein wenig mehr über die Standardparameter erfahren.
Was sind Standardparameter
In der ES6 -Version führte JavaScript eine Funktion zum Einrichten von Standardparametern ein. Bei der Entwicklung einer Vollstapelanwendung möchten wir normalerweise alle unsere Enden abdecken, die uns jeden Fehler zurückgeben können. Das Problem fehlender Argumente im Aufruf -Funktionsaufruf ist einer dieser Ecken, und der Standardparameter ist der Wachmann, mit dem wir uns vor unerwünschten Ergebnissen retten können.
Die Deklaration von Standardparametern ist ziemlich einfach. Wenn Sie den Parameter der Funktion definieren, setzen Sie einfach den Standardwert nach dem "=" Zeichen. Die Syntax ist wie:
Funktion Function Identifier (parameter = value)Zum Beispiel:
FunctionPrintName (FirstName, LastName = 'doe')Die Ausgabe beider Befehle ist als:
Für den ersten Funktionsaufruf wurde der Standardwert „DOE“ für den Parameter „LastName“ verwendet und für die zweite beide Argumente verwendet.
Wie funktionieren Standardparameter?
Verwenden der gleichen Funktion, die wir im obigen Beispiel erstellt haben, für den ersten Fall, in dem beide Argumente vorhanden sind, werden die Werte innerhalb des Funktionsaufrufs wie SO verwendet:
Und für den zweiten Fall, in dem eines der Argumente fehlte, verwendete die Funktion den Wert, den wir als Standardwert innerhalb des Parameters definiert haben:
Warum Standardparameter verwenden
Normalerweise, wenn kein Argument übergeben wird, wird der Parameter von JavaScript als „undefiniert“ angesehen. Der traditionelle oder triviale Ansatz zur Vermeidung einer unerwünschten Ausgabe besteht darin, den Parameter auf einen undefinierten Wert zu überprüfen. Der triviale Ansatz kann mit den folgenden Codezeilen verwendet werden, um 2 Zahlen hinzuzufügen:
FunktionAddnumbers (Num1, Num2)Auch wenn wir keine Argumente übergeben, wenn wir die Funktion innerhalb der Funktion aufrufen Konsole.Protokoll() Funktion, wir werden keinen Fehler bekommen.
Tatsächlich ist die Ausgabe als:
Wie Sie sehen können, können wir auch das Problem der fehlenden Argumente wie dieser bewältigen. Ein guter Programmierer zu sein, geht es jedoch darum, effizient zu sein, und dieser triviale Ansatz ist keine effiziente Lösung.
Wenn wir das gleiche Problem mit den Standardparametern lösen würden, wäre die Lösung viel prägnanter wie:
Funktion addnumbers (num1 = 1, num2 = 1)Wie Sie sehen können, haben wir es in einer einzigen Zeile geschrieben, anstatt zahlreiche Zeilen zu schreiben, und die Ausgabe ist genau das gleiche ohne Fehler und nein Nan.
Verwenden Sie den Standardparameterwert aus einem früheren Parameter
In ES6 können Sie einen Standardparameter mit dem Parameter vor ihm festlegen. Dies liegt daran, dass die Parameter von links nach rechts initialisiert werden. Dies führt zur Verwendung früherer definierter Parameter im Standardwert späterer Parameter.
Nehmen Sie zum Beispiel den folgenden Ausschnitt:
Funktion Getome (a, b = a * 2)Die Funktion getome () nimmt 2 Parameter auf, wenn es nur ein Argument gibt.
Die Ausgabe ist als:
Da die Parameter von links nach rechts initialisiert werden, führt dies, wenn wir einen späteren Parameter als Standardwert eines früheren Parameters verwenden, zu einem Fehler führt.
Nehmen Sie den folgenden Code als Beispiel:
Funktionsfehler (a = b, b = 2)Das obige wird einen Fehler erfüllen, da er versucht, auf den Parameter „B“ zuzugreifen, noch bevor er initialisiert wird.
Die Ausgabe ist als:
Funktionen als Werte in Standardparametern verwenden
In ES6 können Sie sogar Funktionen als Standardparameterwerte verwenden. Probieren Sie die folgenden Codezeilen aus:
Funktion calc (a, b = getValue (a))Wie Sie sehen können, geben wir die Funktion an GetValue (num) als Standardparameter für B Und wir übergeben den Parameter A im Inneren. Der GetValue (num) Vielmehr das Argument, das um 2 an ihn übergeht, und gibt den Wert zurück. Deshalb, wenn wir 2 im Inneren vorbeikommen calc () Funktion als einzelner Parameter Wir erhalten Folgendes:
Das ist es für Standardparameter in JavaScript.
Abschluss
In ES6 wurde eine neue Funktion eingeführt, die die Standardparameter waren. Um zu vermeiden, dass ein Fehler aufgrund fehlender Argumente zu erfüllen, fügte JavaScript diese Funktion hinzu. Standardparameter werden zum Zeitpunkt des Schreibens dieser Funktion einen Standardwert eines Arguments einsetzen. Wir haben über Standardparameter gelernt, wie wir Standardparameter verwenden können, um ungünstige Ergebnisse zu vermeiden, und warum wir Standardparameter als Ersatz für den traditionellen/trivialen Ansatz zusammen mit seinen Beispielen verwenden sollten.