Wann ist ein event.target.value keine Zeichenfolge?

8

Ich kam über value = String(event.target.value || "") , wenn ein keyput / keydown -Ereignis ausgelöst wird.

Aber ich bin nicht sicher, wenn die event.target.value keine Zeichenfolge ist? Ist das möglich? Wann wird etwas anderes als event.target.value ?

ausgegeben?     
Akshat 06.02.2013, 18:18
quelle

2 Antworten

10

Wenn das Element event.target kein Element vom Typ Eingabe ist, wird es keine value -Eigenschaft haben. Wenn ich zum Beispiel auf div klicke, dann ist event.target ein div, das nicht value hat.

Wrapping event.target.value || '' in String() ist nicht notwendig, da es immer entweder value ist (was immer eine Zeichenkette oder undefined ist) oder die leere Zeichenkette, falls der Wert undefined ist.

Siehe diese Geige für eine Demonstration.

    
jbabey 06.02.2013, 18:22
quelle
0

Es kann helfen, das, was hier in dieser Aussage passiert, aufzubrechen. Der Schlüssel ist, dass event.target.value || "" zuerst ausgewertet wird, bevor String ().

Dies bedeutet, dass überprüft wird, ob event.target.value null oder undefiniert ist. Wenn es NULL oder nicht definiert ist, wird die leere Zeichenfolge "" als Standardwert verwendet. Das Ergebnis dieser Anweisung wird dann an String () übergeben.

    
invalidsyntax 06.02.2013 18:22
quelle

Tags und Links