我在向一位同事解释说,在比较 JavaScript 中的变量时,你应该使用and ===
(!==
当然还有),这样它就不会强制参数,让所有的问题变得混乱和混乱,但他们问了我一个我不知道的两部分问题答案并认为我会在这里问专家,具体来说是:>==
<==
>
和-当<
他们比较时,他们是否也强制参数 - 为什么没有某种类型的>>
和<<
运算符(可能需要一些其他语法,因为我猜如果它沿着整个 C 风格,但你明白要点)?
所以我可以写一个测试来找到第一部分的答案,我做了,这里是:
// Demo the difference between == and ===
alert(5 == "5");
alert(5 === "5");
// Check out what happens with >
alert(5 > "4");
alert(5 > 4);
它返回:
true
false
true
true
所以看起来确实>
在进行强制转换,> "4"
并> 4
返回相同的结果。那么第二部分呢...
是否有某种运算符 for >
and<
不强制类型(或者我如何更改我的测试以安全地执行测试)?