Dlaczego „true” == true pokazuje false w JavaScript?

MDC opisuje== operator w następujący sposób:

Jeśli dwa operandy nie są tego samego typu, JavaScript konwertuje operandy, a następnie stosuje ścisłe porównanie. Jeśli którykolwiek operand jest liczbą lub logiczną, operandy są konwertowane na liczby, jeśli to możliwe; w przeciwnym razie, jeśli którykolwiek operand jest łańcuchem znaków, drugi operand jest konwertowany na łańcuch, jeśli to możliwe.

Mając to na uwadze, oceniłbym to"true" == true następująco:

Czy są tego samego typu?NieCzy operand jest liczbą czy logiczną?takCzy możemy przekonwertować obie liczby?Nie (isNaN(Number("true")) // true)Czy operand jest ciągiem?takCzy możemy przekonwertować drugi operand na ciąg?tak (String(true) === "true" // true)

Skończyłem z sznurkami"true" i"true", które powinny ocenićtrue, ale JavaScript pokazuje fałszywe.

Co przegapiłem?

questionAnswers(3)

yourAnswerToTheQuestion