Hallo,
Keine Ahnung. Mich hat das auch überrascht. Ich müsste Onkel Bing Googlesby und seine zwei Enten befragen.
nett formuliert. 😀
Die Spec sagt ihn nicht, da steht nur, dass es so ist. Es war vermutlich einfach schon immer so und es hat noch keiner hinterfragt.
In PHP würde mir das einleuchten. Viele PHP-Funktionen liefern ein Ergebnis unterschiedlichen Typs, je nach Situation. Zum Beispiel false im Fehlerfall. aber eine Zahl (die auch 0 sein kann!) im Gutfall. Da würde ich mir auch im switch-Statement einen typsicheren Vergleich wünschen (ist das denn der Fall? Ich bin mir gerade nicht sicher).
In Javascript sind mir solche Eiertänze im Moment nicht bewusst. Da wäre typentoleranter Vergleich also weniger problematisch.
Und natürlich ist PHP mal wieder anderer Ansicht. Im PHP Handbuch steht ausdrücklich, dass switch/case "loose comparison" durchführt. Webentwickler sind bekanntlich leidensfähig.
Super. Genau da, wo's sinnvoll wäre ...
Immer eine Handbreit Wasser unterm Kiel
Martin
Wenn ich den See seh, brauch ich kein Meer mehr.