Ich denke, es heißt Ente Gießen. Wenn es wie eine Ente aussieht und quakt wie eine Ente, muss es eine Ente sein. Wenn es wie eine Zeichenfolge "1" aussieht, ist es wahrscheinlich eine Zeichenfolge.
JavaScript scheint auch von links nach rechts und von bestimmten (int) zu allgemeinen (string) zu bewerten.
In Ihrem ersten Beispiel, console.log ("1" + 2 + 3), bewertet es die "1" als String aufgrund der Anführungszeichen und unter der Annahme, dass Sie alles darauffolgend verketten wollen. Es schreibt "123" als Ergebnis. Im zweiten Beispiel, console.log (2 + 5 + "8"), nimmt es einen int und fügt einen anderen int hinzu, der 7 erzeugt, und trifft dann auf eine Zeichenkette. Es nimmt also an, dass Sie eine Verkettung machen wollen schreibt "78" als String. Wenn Sie streng int-Werte auswerten möchten, können Sie parseInt ("8") verwenden, um Ihre 8 zurück in einen int zu konvertieren.
der erste wandelt das Ganze in String um. der zweite beginnt, die Zahlen zu addieren, bis er den String sieht, wenn er dann das ganze Ding in einen String konvertiert. –
Weil in Javascript '+' sowohl der Additions- als auch der Verkettungsoperand ist, und welcher angewendet wird, hängt von dem ersten Wert ab. –
Weil String + String immer noch eine Zeichenkette ist. Das Hinzufügen eines Strings zu einem int-type-safe ist unmöglich, daher * erzwingt * der zweite Operand den gleichen Typ wie der erste. – doldt