Stavo per iniziare a usare === (triplo uguale, confronto rigoroso) tutto il tempo durante il confronto dei valori di stringa, ma ora lo trovo
"foo" === new String("foo")
è falso, e lo stesso con questo:
var f = "foo", g = new String("foo");
f === g; // false
Ovviamente:
f == g; // true
Quindi è consigliabile usare sempre == per il confronto tra stringhe o convertire sempre le variabili in stringhe prima del confronto?
new String
(Completamente inutile) piuttosto che utilizzare==
new String("foo")
in Javascript in primo luogo? Non ho mai visto un codice del genere nel codice, ad esempio jQuery ...
String(obj)
per convertire una stringa in scatola nella primitiva dopo aver ricevuto il parametro "stringa". ("foo" === String(new String("foo"))) === true
foo
è la stringa pura ednew String("foo")
è Object String