J'ai une fonction JavaScript où quelqu'un peut passer quoi que ce soit, et j'itérer sur chacune de ses touches en utilisant laVérifiez s'il est sûr de itérer sur une variable JavaScript
for x in obj
syntaxe
. Cependant, cela entraîne une erreur s'ils passent une primitive (chaîne ou nombre); le comportement correct est que la fonction agisse de la même manière que sur un objet sans clé.
je peux faire un bloc try..catch
pour se déplacer, mais est-il une autre façon (plus succincte)?
Bon test, la seule chose que je pourrais ajouter que 'typeof' est un opérateur unaire et non une fonction, de sorte que les parens faites juste une expression autour' x', puis en appliquant l'opérateur. Aussi, alors que je suis pédant et stupide, puisque 'typeof' renvoie toujours une chaîne, l'opérateur' == 'serait probablement une petaseconde plus rapide. Tout ça pour dire, cela est tout à fait bien ... –
Le seul problème peut être 'null', est une primitive et' typeof' est malheureusement complètement faux: 'typeof null == « object'' – CMS
Alex: Pourquoi '= = 'être plus rapide que' === '? Selon la spécification ECMAScript, exactement les mêmes étapes seraient effectuées pour les deux comparaisons dans ce cas. –