Var DEFFERED gesetzt ist jedes Mal unabhängig vom Ergebnis des ternären funciton. Ich habe ein paar Tests in der Konsole gemacht, um das zu beweisen.
//Set ternary condition variable.
var test = true;
undefined
//check to see if newVal is set to anything, it returns an error because the variable doesn't exist yet.
newVal
VM1128:1 Uncaught ReferenceError: newVal is not defined(…)(anonymous function) @ VM1128:1
//Try the ternary operation, it returns true.
var ans = test ? true: false, newVal;
undefined
//Was the newVal var created? YES.
newVal
undefined
//Try setting it to a value.
var ans = test ? true: false, newVal = 50;
undefined
newVal
50
//And if the ternary operation returns false?
var test = false;
undefined
var ans = test ? true: false, newVal = 3;
undefined
newVal
3
Gibt es etwas bestimmtes, das Sie nicht verstehen? Es ist eine ternäre Operation, die den Wert der Ergebnisse festlegt, sie filtert die Ergebnisse, wenn die Abfrage beendet wird, und gibt einfach die aktuellen ungefilterten Zustände zurück, wenn die Abfrage nicht gesetzt ist und setzt die Variable auf nicht definiert zurück. –
Danke für die Erklärung. Ich kenne den ternären Operator. Aber mir war nicht klar, wie das Komma für diese Linie ins Bild gekommen ist. Kannst du etwas Licht darauf werfen? – user1835326