¿Qué es el formato de archivo JS?
Los archivos .js almacenan código fuente escrito en el lenguaje de programación JavaScript. El código .js puede incrustarse en sitios web y utilizarse para verificar datos de entrada, manipular ventanas del navegador o crear galerías de imágenes interactivas. Aunque JavaScript comenzó principalmente como una tecnología front-end, ahora también se ejecuta en el lado del servidor a través de entornos de ejecución como Node.js, Deno y Bun, lo que lo convierte en un lenguaje full-stack. El código JavaScript puede guardarse directamente en archivos HTML, pero dicha práctica limita su portabilidad. La solución más común es utilizar archivos .js dedicados que pueden reutilizarse en muchos sitios web o proyectos.
El código JavaScript no requiere una máquina virtual Java para ejecutarse. JavaScript no está relacionado de ninguna manera con el lenguaje de programación Java; solo el nombre es similar. El código .js no está protegido contra la visualización por parte de los usuarios; el código fuente es legible en cualquier editor de texto o en las DevTools del navegador. Muchos archivos .js están disponibles gratuitamente para el público y pueden usarse en sitios web sin costo. El código en archivos .js con licencia libre puede editarse y redistribuirse bajo términos de código abierto.
El JavaScript moderno admite dos sistemas de módulos: módulos ES (que utilizan import/export, también distribuidos como archivos .mjs) y CommonJS (que utilizan require/module.exports). Los datos intercambiados entre scripts y servidores se almacenan comúnmente como JSON. Los proyectos que necesitan comprobación de tipos estáticos utilizan TypeScript, un superconjunto tipado que se compila de nuevo a .js.
Seguridad y protección
RIESGO: HIGHEn un navegador web, JavaScript se ejecuta en un entorno aislado (sandbox) y es relativamente seguro. El peligro está en Windows: hacer doble clic en un archivo .js suelto lo ejecuta a través de Windows Script Host (WSH) con los privilegios completos de su cuenta, sin aislamiento. Los archivos adjuntos .js maliciosos (a menudo dentro de archivos ZIP, a veces llamados factura.js / documento.js) son una forma conocida de distribuir ransomware y troyanos. Reglas: nunca haga doble clic en un .js que haya recibido por correo electrónico o descarga; ábralo primero en un editor de texto para leerlo; mantenga visibles las extensiones de archivo de Windows para que un «foto.jpg.js» no pueda camuflarse. En la web, solo cargue scripts de fuentes en las que confíe y use hashes de Subresource Integrity (SRI) para scripts de terceros.
Detalles del formato
en pocas palabras- Script de JScript / Windows Script Host - En Windows, un doble clic en .js se ejecuta en WSH (cscript/wscript) con acceso total al sistema - un vector de malware clásico, no un sandbox de navegador.
- Configuración de JACOsub / JetScript / Netscape (heredado) - La documentación antigua mencionaba .js para scripts de subtítulos JACOsub y configuraciones de Netscape; obsoletos y efectivamente sin uso hoy en día.
Programas que abren archivos JS
Detalles técnicos
especificación profunda| Tipo MIME | text/javascript (primario); también application/javascript, text/ecmascript, application/ecmascript |
| Codificación de texto | UTF-8 (requerido para módulos ES y entrega web); los archivos heredados pueden ser ASCII o Latin-1 |
| Firma de archivo (magic bytes) | Ninguna - formato de texto plano; identificado por la extensión .js y el contenido, no por bytes de encabezado |
| Formato de contenedor | Texto plano - declaraciones, funciones y expresiones legibles por humanos ejecutadas de arriba a abajo |
| Sistemas de módulos | Módulos ES (import/export) y CommonJS (require/module.exports); resueltos mediante el campo «type» de package.json |
| Entornos de ejecución | Todos los navegadores principales (Chrome V8, Firefox SpiderMonkey, Safari JavaScriptCore) y entornos de servidor (Node.js, Deno, Bun) |
| Tamaño típico de fuente | De 1 KB a unos pocos cientos de KB por archivo; los paquetes de producción pueden alcanzar varios MB |
| Entrega en producción | Minificado (eliminación de espacios en blanco y acortamiento de identificadores), luego comprimido con gzip o Brotli para transferencia HTTP |
| Verificación de integridad | Subresource Integrity (SRI) - hash sha256/sha384/sha512 en el atributo <script integrity="..."> de HTML |
| Paradigma del lenguaje | Multiparadigma: orientado a objetos basado en prototipos, funcional y dirigido por eventos |
| Extensiones de desambiguación | .mjs (módulo ES explícito), .cjs (CommonJS explícito), .jsx (sintaxis React JSX), .ts (superconjunto TypeScript) |
| Visibilidad de fuente | El código fuente siempre es legible por humanos; la ofuscación es cosmética, no una protección criptográfica |
| Organismo de normalización | Ecma International (comité TC39) - estándar ECMA-262; nueva edición publicada anualmente |
| Soporte Shebang | Los archivos del lado del servidor pueden comenzar con #!/usr/bin/env node para ejecutarse directamente como un script de shell |
| Mapas de fuente (source maps) | Los archivos minificados se emparejan con archivos .map (JSON) para mapear la salida compilada de nuevo a las líneas de fuente originales |
| Lanzado | 1995 (Netscape Navigator 2.0); ECMA-262 1st edition 1997 |
| Última versión | ECMAScript 2025 (ES2025 / 16th edition); language is updated yearly |
| Estándar abierto | Sí · libre de regalías |
| Especificación | tc39.es |
Conversiones de JS
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos JS.