Je reçois des données avec ajax, et le résultat peut être un tableau de résultats ou une instruction chaîne telle que "aucun résultat trouvé". Comment puis-je savoir si j'ai eu des résultats ou non? J'ai essayé cette approche:
if result == String
do something
mais sa ne fonctionne pas, juste comme
if typeof(result) == "string"
do something
Existe-t-il une autre fonction qui puisse m'aider à obtenir le type de la variable? Ou peut-être que je peux le tester pour le type Array, il serait également très utile
utiliser typeof
doSomething(result) if typeof result is 'string'
Notez que typeof
est un opérateur et non une fonction, vous ne devez donc pas écrire typeof(result)
Vous pouvez aussi faire ça
doSomethingElse(result) if typeof result isnt 'string'
ou même
return if typeof result is 'string'
doSomething result
else
doSomethingElse result
Voir http://coffeescript.org/#conditionals pour plus d'informations sur Coffeescript
conditionals.
Ceci peut être fait de la manière que beaucoup de libraries communes font:
isString = (obj) -> toString.call(obj) == '[object String]'
Vous pouvez également essayer d'utiliser la fonction native Array.isArray
et revenir à Un style similaire à la vérification de type utilisé précédemment
isArray = Array.isArray or (obj) -> toString.call(obj) == '[object Array]'
Est-ce que ça marche?
if Object.prototype.toString.call(result) == '[object String]'
do something