würde ich erwarten, so etwas wie NaN oder nicht definiert, aberWarum console.log (true + 1) gibt 2 zurück?
console.log(true+1)
gibt mir klar 2. Warum?
würde ich erwarten, so etwas wie NaN oder nicht definiert, aberWarum console.log (true + 1) gibt 2 zurück?
console.log(true+1)
gibt mir klar 2. Warum?
JavaScript ist sehr bereit, Datentypen zu konvertieren. In Ihrem Beispiel wird True zur Zahl 1 konvertiert, so dass es zu einer anderen Nummer hinzugefügt werden kann.
Diese Konvertierungen können manchmal zu überraschenden Ergebnissen führen. Weitere überraschende Ergebnisse finden Sie unter the humorous Wat talk.
Nach der Dokumentation:
// Boolean + Number -> Zusätzlich
wahr + 1 // 2
Und:
// Boolean + Boolean -> Addition
falsch + false // 0
So:
console.log(false + 3)//returns 3
console.log(true + 3)//returns 4
Und auch:
console.log((true+true)*(true+true+true))//returns 6
Hier ist der Link: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators
'Array (16) .join (“ wat "- 1) +" Batman! "" ... Kumpel, danke dafür! –