Détails
Vérifier si une variable est une chaîne de caractères en JavaScript
Comment puis-je déterminer si une variable est une chaîne ou autre chose en JavaScript ?
1539
3
C'est ce qui fonctionne pour moi :
Vous pouvez utiliser l'opérateur
typeof
:Exemple tiré de [cette page web][1]. (L'exemple a été légèrement modifié).
Cela ne fonctionnera pas comme prévu dans le cas de chaînes créées avec
new String()
, mais cela est rarement utilisé et il est recommandé de ne pas[1][2]. Consultez les autres réponses pour savoir comment les gérer, si vous le souhaitez.[1] : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof
Le meilleur moyen :
Chacun de ces objets a été construit par la fonction de classe appropriée, comme "new Object()" ; etc.
Aussi, Duck-Typing : "Si ça ressemble à un canard, marche comme un canard, et sent comme un canard - ça doit être un tableau" ; Autrement dit, vérifiez ses propriétés.
J'espère que cela vous aidera.
Edit ; 12/05/2016
N'oubliez pas que vous pouvez toujours utiliser des combinaisons d'approches également. Voici un exemple d'utilisation d'une map en ligne d'actions avec typeof :
Voici un exemple plus réaliste de l'utilisation des cartes en ligne :
Cette fonction utiliserait [ custom ] "type-casting" ; -- plutôt, "type-/-value-mapping" ; -- pour déterminer si une variable "existe" ;. Maintenant, vous pouvez diviser ces cheveux méchants entre
null
& ;0
!Souvent, on ne se soucie même pas de son type. Une autre façon de contourner le typage est de combiner les ensembles Duck-Type :
Les deux
Number.prototype
etString.prototype
ont une méthode.toString()
. Vous avez simplement fait en sorte que l'équivalent chaîne du nombre soit le même, puis vous avez fait en sorte de le passer dans la fonctionhttp
comme unNumber
. En d'autres termes, nous ne nous sommes même pas souciés de son type.J'espère que cela vous donnera plus de matière à travailler :)