que iba a comenzar a utilizar === (iguales triples, comparación estricta) todo el tiempo al comparar los valores de cadena, pero ahora me parece que¿Por qué ("foo" === new String ("foo")) se evalúa como falso en JavaScript?
"foo" === new String("foo")
es falso, y lo mismo con esto:
var f = "foo", g = new String("foo");
f === g; // false
por supuesto:
f == g; // true
lo tanto, es recomendable utilizar siempre == para la comparación de cadenas, o siempre convertir las variables en cadenas antes de la comparación?
Tal vez porque 'foo' es la cadena pura y' nueva cadena ("foo") 'es la cadena de objetos –
Antecedentes: http://stackoverflow.com/questions/1646698/what-is-the-new-keyword-in-javascript –
Se recomienda no crear cadenas con 'new String' (completamente inútil) en lugar de usando '==' – Esailija