Heim > Web-Frontend > js-Tutorial > Wie gehe ich mit optionalen Funktionsparametern in ES6 um: Typprüfung vs. ternärer Operator?

Wie gehe ich mit optionalen Funktionsparametern in ES6 um: Typprüfung vs. ternärer Operator?

DDD
Freigeben: 2024-11-11 20:42:02
Original
799 Leute haben es durchsucht

How to Handle Optional Function Parameters in ES6: Type Checking vs. Ternary Operator?

ES6-Feature: Optionale Funktionsparameter

Der herkömmliche Ansatz für optionale Funktionsparameter in JavaScript beinhaltet eine logische ODER-Prüfung (||), dargestellt am Beispiel im folgenden Codeausschnitt:

function myFunc(requiredArg, optionalArg){
  optionalArg = optionalArg || 'defaultValue';

  // Do stuff
}
Nach dem Login kopieren

Obwohl diese Technik die traditionelle Methode war, weist sie bestimmte Einschränkungen auf. Wenn beispielsweise optionalArg übergeben wird, aber als falsch ausgewertet wird, wird der Standardwert nicht zugewiesen.

Alternative Ansätze

Um diese Einschränkung zu beheben, werden zwei alternative Ansätze vorgeschlagen:

1. Typprüfung:

if (typeof optionalArg === 'undefined') { optionalArg = 'default'; }
Nach dem Login kopieren

Bei diesem Ansatz wird überprüft, ob optionalArg undefiniert ist, und der Standardwert zugewiesen, wenn diese Bedingung erfüllt ist. Dadurch wird sichergestellt, dass der Standardwert nur dann festgelegt wird, wenn optionalArg fehlt oder wenn er explizit auf undefiniert festgelegt ist.

2. Ternärer Operator:

optionalArg = (typeof optionalArg === 'undefined') ? 'default' : optionalArg;
Nach dem Login kopieren

Der ternäre Operator bietet eine übersichtliche Alternative für die Handhabung optionaler Parameter. Der Ausdruck ergibt den Standardwert, wenn optionalArg undefiniert ist; Andernfalls behält es den ursprünglichen Wert von optionalArg bei.

Welche Auswahl?

Sowohl die Typprüfung als auch der ternäre Operatoransatz bieten effektive Lösungen für das Problem optionaler Parameter. Die Wahl zwischen ihnen hängt von den persönlichen Vorlieben und der Lesbarkeit des Codes ab. Die Syntax des ternären Operators ist kompakter, während der Ansatz der Typprüfung möglicherweise expliziter ist.

Das obige ist der detaillierte Inhalt vonWie gehe ich mit optionalen Funktionsparametern in ES6 um: Typprüfung vs. ternärer Operator?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage