Dans mon cas particulier :
ou
est-il encore important, quelle est la différence ?
Ressources supplémentaires :
JavaScript-jardin typeof vs instanceof
Dans mon cas particulier :
ou
est-il encore important, quelle est la différence ?
Ressources supplémentaires :
JavaScript-jardin typeof vs instanceof
Les deux sont des fonctionnalités similaires, car ils ont tous deux retournent des informations de type, mais personnellement, je préfère `` parce qu’il compare les types réels plutôt que des chaînes. Type de comparaison est moins sujette à l’erreur humaine, et il est techniquement plus rapide puisqu’il compare des pointeurs dans la mémoire, plutôt que de faire des comparaisons de chaînes entières.
J'ai découvert que certains de vraiment intéressant (lire aussi "horrible") le comportement de Safari 5 et Internet Explorer 9. J'ai été en utilisant ce avec beaucoup de succès dans Chrome et Firefox.
if (typeof this === 'string') {
doStuffWith(this);
}
Puis-je tester dans IE9, et il ne fonctionne pas du tout. Grosse surprise. Mais dans Safari, il est intermittent! J'ai donc démarrer le débogage, et je trouve que Internet Explorer est toujours le retour false
. Mais le plus étrange, c'est que Safari semble être de faire une sorte d'optimisation dans ses VM JavaScript où il est true
la première fois, mais false
chaque fois que vous appuyez sur recharger!
Mon cerveau presque explosé.
Alors maintenant, j'ai installé sur ce:
if (this instanceof String || typeof this === 'string')
doStuffWith(this.toString());
}
Et maintenant, tout fonctionne très bien. Notez que vous pouvez appeler "a string".toString()
et elle retourne une copie de la chaîne, c'est à dire
"a string".toString() === new String("a string").toString(); // true
Donc, je vais utiliser les deux à partir de maintenant.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.