Igualdade de Javascript triplo equivale, mas o que acontece com maior que e menor que?
Eu estava explicando a um colega que você deveria usar===
e!==
(e>==
e<==
claro) quando comparando variáveis em JavaScript para que ele não coage os argumentos e fique todo confuso, mas eles me fizeram uma pergunta em duas partes que eu não sabia a resposta e pensei em perguntar aos especialistas aqui, especificamente é:
Sobre o quê>
e<
- quando eles comparam, eles também coagem os argumentos ou não - por que não há algum tipo de>>
e<<
operador (provavelmente precisa ser alguma outra sintaxe, como eu diria que eles seriam operadores bit shift, se estiver seguindo todo o estilo C, mas você obtém a essência)?
Então eu posso escrever um teste para encontrar a resposta para a primeira parte, o que eu fiz, aqui está:
// Demo the difference between == and ===
alert(5 == "5");
alert(5 === "5");
// Check out what happens with >
alert(5 > "4");
alert(5 > 4);
e retornou:
true
false
true
true
por isso parece com o>
está fazendo a coerção desde> "4"
e> 4
retorne o mesmo resultado. então que tal a segunda parte ...
Existe algum tipo de operador para>
e<
que não coagem o tipo (ou como posso alterar meu teste para realizar o teste com segurança)?