J'allais commencer à utiliser === (triple égal, comparaison stricte) tout le temps lors de la comparaison des valeurs de chaîne, mais maintenant je trouve que
"foo" === new String("foo")
est faux, et pareil avec ceci:
var f = "foo", g = new String("foo");
f === g; // false
Bien sûr:
f == g; // true
Il est donc recommandé de toujours utiliser == pour la comparaison de chaînes, ou de toujours convertir les variables en chaînes avant de comparer?
new String(Complètement inutile) plutôt que d'utiliser==
new String("foo")en Javascript en premier lieu? Je n'ai jamais vu un tel code dans le code, c'est-à-dire jQuery ...
String(obj)pour convertir une chaîne encadrée en primitive une fois que vous avez reçu votre paramètre "chaîne". ("foo" === String(new String("foo"))) === true
fooc'est la chaîne pure etnew String("foo")est la chaîne d'objet