Wann ist ein Ereignis.Ziel.Wert kein string?
Ich kam accross value = String(event.target.value || "")
wenn ein textinputs keyup/keydown-Ereignis ausgelöst wird.
Aber ich bin mir nicht sicher, wenn die event.target.value
ist nicht ein string? Ist das möglich? Wann ist etwas anderes verlief als ein event.target.value
?
- Es ist entweder nicht definiert oder ein string und undefined als false ausgewertet wird, invocing der ODER, also string-Konvertierung sollte nicht notwendig sein, aber ist wahrscheinlich Hinzugefügt, als eine Art Versicherung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn die
event.target
element ist nicht ein input type " - element, es wird nicht einevalue
Eigenschaft. Zum Beispiel, wenn ich auf einediv
dannevent.target
ist ein div, die nichtvalue
.Verpackung
event.target.value || ''
imString()
ist nicht notwendig, da es immer entweder-Wert (das ist immer ein string oderundefined
) oder die leere Zeichenkette, in dem Fall, dass der Wertundefined
.Sehen diese Geige für eine demonstration.
Kann es helfen, zu brechen, was hier passiert in dieser Aussage.
Der wichtigste Teil ist, dass
event.target.value || ""
wertet den ersten, bevor String() funktioniert.Bedeutung es ist zu prüfen, wenn
event.target.value
ist null oder undefiniert sein. Wenn er null IST oder nicht definiert ist, wird der leere string""
als der Standardwert. Das Ergebnis dieser Anweisung ist dann passiert String().