Eu ia começar a usar === (triplo igual, comparação estrita) o tempo todo ao comparar valores de string, mas agora acho que
"foo" === new String("foo")
é falso e o mesmo com este:
var f = "foo", g = new String("foo");
f === g; // false
Claro:
f == g; // true
Portanto, é recomendado sempre usar == para comparação de strings ou sempre converter variáveis em strings antes de comparar?
new String
(Completamente inútil) em vez de usar==
new String("foo")
em Javascript em primeiro lugar? Nunca vi esse código em código, ou seja, jQuery ...
String(obj)
para converter uma string em caixa para a primitiva assim que receber o parâmetro "string". ("foo" === String(new String("foo"))) === true
foo
seja a string pura enew String("foo")
seja a String Object