Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

292
Vistas
¿Cómo diferenciar entre Blob, Object y String?

Digamos que alguna función puede devolver Blob , String u Object simple , según el caso de uso. Después de que se devuelva el valor, quiero implementar un código diferente para cada tipo. ¿Cómo puedo distinguirlos?

Para simplificar, comenté las 3 opciones que pueden regresar desde la función de administración, pero esta es la forma en que lo administro ahora:

 const manage = () => { return new Blob([JSON.stringify({ myKey: 'myValue'})], { type: 'application/json' }); // return { error: 'my error msg' }; // return 'lets say this is base64 string'; }; const result: Blob | { error: string } | string = manage(); switch(Object.prototype.toString.call(result)) { case "[object Blob]": console.log('Blob case runs...'); break; case "[object String]": console.log('String case runs...'); break; case "[object Object]": console.log('Object case runs...'); break; default: console.log('Default case runs...'); };
 <script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>

Obviamente no estoy contento con la solución "Object.prototype.toString.call" . También algunas respuestas sugirieron usar el operador "instancia de" , pero esta tampoco es una opción confiable en mi situación.

¿Puede alguien señalarme en una mejor dirección?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

solo puede devolver el tipo de datos y los datos en la función manage

 const manage = () => { return { type: "Bolb", data: new Blob([JSON.stringify({ myKey: 'myValue'})], { type: 'application/json' }); } return {type: "error", error: 'my error msg' }; return {type: "string", message: 'lets say this is base64 string'}; }; const result: Object = manage(); switch(result.type) { case "Bolb": console.log('Blob case runs...'); break; case "string": console.log('String case runs...'); break; case "error": console.log('Object case runs...'); break; default: console.log('Default case runs...'); };
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda