Ich habe den Code einer der in Javascript geschriebenen Diagrammbibliotheken durchgesehen, in denen ich gesehen habe, dass Unterstriche (_
) als Funktionsparameter. Was bedeutet das?
chart.x = function(_) {
if (!arguments.length) return lines.x;
lines.x(_);
lines2.x(_);
return chart;
};
Kann jemand dies bitte aktualisieren … Danke.
Das Unterstrich-Symbol _
ist ein gültiger Bezeichner in JavaScript und wird in Ihrem Beispiel als Funktionsparameter verwendet.
Ein einzelner Unterstrich ist eine Konvention, die von einigen Javascript-Programmierern verwendet wird, um anderen Programmierern anzuzeigen, dass sie “diese Bindung/diesen Parameter ignorieren” sollen. Da JavaScript keine Überprüfung der Parameteranzahl durchführt, hätte der Parameter vollständig weggelassen werden können.
Dieses Symbol wird oft (wiederum konventionell) in Verbindung mit Fettpfeilfunktionen verwendet, um sie noch prägnanter und lesbarer zu machen, wie hier:
const fun = _ => console.log('Hello, World!')
fun()
In diesem Fall benötigt die Funktion keine Parameter, um ausgeführt zu werden, daher hat der Entwickler den Unterstrich als Konvention verwendet, um dies anzuzeigen. Dasselbe könnte man auch so schreiben:
const fun = () => console.log('Hello, World!')
fun()
Der Unterschied besteht darin, dass die zweite Version eine Funktion ohne Parameter ist, die erste Version jedoch einen Parameter namens _ hat, der ignoriert wird. Diese sind jedoch anders und die zweite Version ist sicherer, wenn auch etwas ausführlicher (1 zusätzliches Zeichen).
Betrachten Sie auch einen Fall wie
arr.forEach(function (_, i) {..})
Wo _
gibt an, dass der erste Parameter nicht verwendet werden soll.
Die Verwendung solcher Unterstriche kann sehr verwirrend werden, wenn die beliebten Lodash- oder Unterstrichbibliotheken verwendet werden.
_ in Fett Pfeil Funktion heißt als Wegwerfvariable. Das bedeutet, dass wir eigentlich eine Variable erstellen, sie aber einfach ignorieren. Heutzutage verwenden mehr Entwickler dies als syntaktischen Zucker oder als Abkürzung beim Schreiben von Code, da es einfach und ein Zeichen weniger ist, den Code zu schreiben.
Anstatt _ zu verwenden, können Sie andere Variablen wie temp, x usw. verwenden
zum Beispiel:
() => console.log('Hello World')
_ => console.log('Hello World')
x => console.log('Hello World')
Aber ich persönlich ziehe es vor, den Typ () über die Wegwerfvariable zu verwenden, wenn keine Argumente benötigt werden.
Sehen Sie sich den folgenden Code an, dann werden Sie ihn besser verstehen.
_ als Argument,
f = _=> {
return _ + 2 ;
}
f(3) gibt 5 zurück
Zum besseren Verständnis siehe wes bos
also @GabyakaG.Petrioli, wenn Sie diese Funktion mit einem beliebigen Parameter aufrufen, unabhängig von Typ oder Nr. von Parametern..es wird diese Funktion aufrufen?
– Azhar
24. Dezember 2014 um 12:42 Uhr
Wenn Sie in der spezifischen Funktion keine Parameter übergeben, wird sie zurückgegeben
lines.x
sofort, wenn Sie mehr als einen übergeben, wird nur der erste verwendet und an ihn weitergegebenlines.x
undlines2.x
und schließlich die zurückgebenchart
.– Gabriele Petrioli
24. Dezember 2014 um 12:44 Uhr