Równość JavaScript potrójna równa się, ale co z większą niż i mniejszą niż?
Tłumaczyłem koledze, którego powinieneś użyć===
i!==
(i>==
i<==
oczywiście) porównując zmienne w JavaScript tak, aby nie wymuszać argumentów i nie dać się zmylić, ale zadali mi dwuczęściowe pytanie, na które nie znałem odpowiedzi i pomyślałem, że zapytam o to ekspertów, a konkretnie jest:
Co powiesz na>
i<
- kiedy się porównują, przymuszają też argumenty, czy nie - dlaczego ich nie ma>>
i<<
operator (prawdopodobnie musi być jakaś inna składnia, tak jak przypuszczam, byliby operatorami z przesunięciem bitowym, jeśli przechodziłaby przez cały styl C, ale otrzymujesz gist)?
Mogę więc napisać test, aby znaleźć odpowiedź na pierwszą część, którą zrobiłem, oto jest:
// Demo the difference between == and ===
alert(5 == "5");
alert(5 === "5");
// Check out what happens with >
alert(5 > "4");
alert(5 > 4);
i wrócił:
true
false
true
true
więc wygląda jak>
robi od tego przymus> "4"
i> 4
zwróć ten sam wynik. więc co z drugą częścią ...
Czy istnieje jakiś rodzaj operatora>
i<
które nie wymuszają tego typu (lub jak mogę zmienić test, aby bezpiecznie przeprowadzić test)?