coffeescript - globales - Cómo comprobar si la variable es tipo de cadena
variable scope (3)
Estoy obteniendo datos con ajax, y el resultado puede ser una matriz de resultados o una declaración de cadena como "no se encontraron resultados". ¿Cómo puedo saber si obtuve algún resultado o no? He intentado este enfoque:
if result == String
do something
pero no funciona, al igual que
if typeof(result) == "string"
do something
¿Hay alguna otra función que pueda ayudarme a obtener el tipo de variable? O tal vez pueda probarlo para el tipo Array, también sería muy útil
Compruebe que el resultado es una cadena:
Esto se puede hacer de la manera en que muchas libraries comunes lo hacen:
isString = (obj) -> toString.call(obj) == ''[object String]''
Comprueba que el resultado es un Array:
También puede intentar usar la función Array.isArray
nativa y volver a un estilo similar de verificación de tipos como se usó anteriormente:
isArray = Array.isArray or (obj) -> toString.call(obj) == ''[object Array]''
¿Esto funciona?
if Object.prototype.toString.call(result) == ''[object String]''
do something
utilizar typeof
doSomething(result) if typeof result is ''string''
Tenga en cuenta que typeof
es un operador, no una función, por lo que no escribe typeof(result)
También puedes hacer esto
doSomethingElse(result) if typeof result isnt ''string''
o incluso
return if typeof result is ''string''
doSomething result
else
doSomethingElse result
Consulte http://coffeescript.org/#conditionals para obtener más información sobre Coffeescript
condicionales de Coffeescript
.