Warum zeigt "true" == true in JavaScript "false"?

MDC beschreibt die== Betreiber wie folgt:

Wenn die beiden Operanden nicht vom gleichen Typ sind, konvertiert JavaScript die Operanden und führt einen strengen Vergleich durch. Wenn einer der Operanden eine Zahl oder ein Boolescher Wert ist, werden die Operanden nach Möglichkeit in Zahlen konvertiert. andernfalls wird, wenn einer der Operanden eine Zeichenfolge ist, der andere Operand nach Möglichkeit in eine Zeichenfolge konvertiert.

In diesem Sinne würde ich bewerten"true" == true wie folgt:

Sind sie vom selben Typ?NeinIst entweder Operand eine Zahl oder ein Boolescher Wert?JaKönnen wir beide in eine Zahl umwandeln?Nein (isNaN(Number("true")) // true)Ist einer der Operanden eine Zeichenfolge?JaKönnen wir den anderen Operanden in einen String konvertieren?Ja (String(true) === "true" // true)

Ich bin mit den Saiten gelandet"true" und"true", die auswerten sollentrue, aber JavaScript zeigt falsch.

Was habe ich vermisst?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage