Zawsze uważałem, że instrukcja if w zasadzie porównała swój argument podobny do argumentu == true
. Jednak następujący eksperyment w Firebug potwierdziła moje najgorsze obawy-po napisaniu Javascript przez 15 lat I nadal nie mają pojęcia WTF się dzieje:Co to jest semantyka JavaScriptów Jeśli Statement
>>> " " == true
false
>>> if(" ") console.log("wtf")
wtf
Mój światopogląd jest w rozsypce tutaj. Mógłbym przeprowadzić kilka eksperymentów, aby dowiedzieć się więcej, ale nawet wtedy traciłbym sen ze strachu przed dziwactwami przeglądarki. Czy to gdzieś jest w specyfikacji? Czy jest to spójna przeglądarka? Czy kiedykolwiek opanuję javascript?
dziwne, jestem ciekawa odpowiedzi – theraccoonbear