Uniones TypeScript y Operadores a Nivel de Bits: Mi Experimento Fallido Favorito

Experimento sobre uniones simuladas con máscaras de bits y BigInt en JavaScript/TypeScript, usando Proxy para emular tipado dinámico, límites del tipado estático y lecciones para desarrollo a medida.

28 sept 2025 • 4 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

Uniones TypeScript y Operadores a Nivel de Bits: Mi Experimento Fallido Favorito

JavaScript y TypeScript comparten símbolos que suenan parecido pero hacen cosas distintas. La barra vertical | en TypeScript significa unión de tipos: por ejemplo un ID puede ser string | number, es decir puede ser una cosa u otra. En JavaScript, la misma barra actúa a nivel de bits y combina banderas: 1 | 2 resulta en 3 porque se mira bit a bit y si alguno tiene el bit puesto, el resultado lo tendrá también. Dos mundos, el mismo símbolo, y una idea curiosa surgió de esa rima visual: intentar replicar la sintaxis de TypeScript en tiempo de ejecución usando operaciones a nivel de bits.

La limitación inicial son los números de JavaScript, que ofrecen solo 53 bits seguros, como un panel de interruptores con 53 botones. Para convertir esa idea en algo escalable usamos BigInt, que no tiene ese techo y permite imaginar un tablero infinito de interruptores. Cada validador obtiene su propio bit en un skyline potencialmente infinito, lo que abre la puerta a combinar validadores mediante OR y comprobar pertenencia con AND.

La técnica clave es asignar a cada validador una potencia de dos distinta. Empezando con 1n y desplazando hacia la izquierda repetidamente se generan banderas como 1n, 2n, 4n, 8n, 16n y así sucesivamente, de forma que cada bandera tiene exactamente un bit activo y nunca colisionan entre validadores. Con esas banderas en un mapa que relaciona cada bit con una función validadora, combinarlas y probarlas es tan sencillo como operar con OR y AND a nivel de bits.

Para evitar escribir manualmente las potencias de dos se puede crear un helper getNextFlag que devuelva la siguiente bandera disponible multiplicando por dos la última. Con eso el código de registro de validadores queda limpio y legible, cada nueva bandera es solo la siguiente potencia de dos y el mapa mantiene la relación entre máscara y función validadora.

Lo más bonito vino con Proxy. Interceptando accesos a propiedades se puede fabricar una API que se parezca a TypeScript en tiempo de ejecución: Type.string, Type.number, Type.array retornan banderas BigInt que además registran la función validadora adecuada. Así escribir Type.string | Type.number produce una máscara combinada que se comporta exactamente como una unión en tiempo de ejecución, y el código llega a lucir como si el lenguaje tuviera inferencia dinámica de tipos.

La realidad, sin embargo, fue menos amable. El compilador de TypeScript no puede ver dentro de esas máscaras BigInt: para el sistema de tipos todo sigue siendo un número opaco, sin información inferible. Sin poder inferir ni estrechar tipos, se pierde la mayor parte de la ergonomía que se buscaba. La ilusión de un TypeScript dinámico se rompe porque el tipado estático no se beneficia de los trucos en tiempo de ejecución.

Hay alternativas y bibliotecas maduras que hacen esto de forma práctica y con inferencia integrada, por ejemplo bibliotecas de validación que aportan tipos y ayuda del compilador por una sintaxis ligeramente diferente. En mi caso la herramienta Pipetype fue el experimento: una mezcla de uniones y máscaras de bits, Proxy y BigInt que resultó ser una curiosidad educativa más que una solución productiva.

Aun así, el experimento enseñó mucho. Mostró cuánto puede estirarse un solo símbolo, cómo BigInt redefine las posibilidades y cómo los Proxy pueden disfrazar API con azúcar sintáctica. Y también recordó un límite importante: la separación entre lo que ocurre en tiempo de ejecución y lo que el compilador puede razonar. A veces los mejores experimentos son los que fallan, porque ponen de manifiesto hasta dónde llegan las ideas y dónde aparecen las barreras.

En Q2BSTUDIO aplicamos aprendizajes como este cuando diseñamos soluciones a medida. Somos una empresa de desarrollo de software y aplicaciones a medida especializada en inteligencia artificial, ciberseguridad y servicios cloud aws y azure. Si necesitas desarrollar una solución a tu medida puedes ver nuestras opciones de desarrollo de aplicaciones y software a medida y también ofrecemos servicios avanzados de soluciones de inteligencia artificial para empresas que incluyen agentes IA, automatización y asesoría para integrar IA para empresas en procesos existentes.

Trabajamos además en áreas complementarias como ciberseguridad, pentesting y servicios de inteligencia de negocio para que las soluciones no solo funcionen sino que lo hagan de forma segura y con información accionable. Palabras clave que nos definen incluyen aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi, y forman parte de la oferta con la que ayudamos a transformar ideas en productos reales y escalables.

Si te interesa una consultoría técnica o explorar opciones para integrar validación avanzada, inferencia de tipos o agentes IA en tu producto, en Q2BSTUDIO combinamos experimentación y experiencia para entregar soluciones fiables y orientadas al negocio.

Conclusión El experimento con uniones simuladas por máscaras de bits y BigInt fue una lección valiosa: técnicamente fascinante, pedagógicamente útil y finalmente incompatible con las expectativas de tipado de TypeScript. Aun así, la experiencia nutre mejores decisiones a la hora de elegir tecnologías y librerías en proyectos reales, algo que aplicamos día a día en nuestros desarrollos de software a medida y servicios tecnológicos.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.