Qu'est-ce que le format de fichier JS ?
Les fichiers .js stockent du code source écrit dans le langage de programmation JavaScript. Le code .js peut être intégré à des sites web et utilisé pour vérifier des données d'entrée, manipuler les fenêtres du navigateur ou créer des galeries d'images interactives. Bien que JavaScript ait commencé principalement comme une technologie front-end, il s'exécute désormais également côté serveur via des environnements d'exécution tels que Node.js, Deno et Bun, ce qui en fait un langage full-stack. Le code JavaScript peut être enregistré directement dans des fichiers HTML, mais cette pratique limite sa portabilité. La solution la plus courante consiste à utiliser des fichiers .js dédiés qui peuvent être réutilisés sur de nombreux sites web ou projets.
Le code JavaScript ne nécessite pas de machine virtuelle Java pour être exécuté. JavaScript n'est en aucun cas lié au langage de programmation Java - seul le nom est similaire. Le code .js n'est pas protégé contre la consultation par les utilisateurs ; la source est lisible dans n'importe quel éditeur de texte ou dans les outils de développement (DevTools) du navigateur. De nombreux fichiers .js sont librement accessibles au public et peuvent être utilisés gratuitement sur des sites web. Le code des fichiers .js sous licence libre peut être modifié et redistribué selon les termes de l'open-source.
Le JavaScript moderne prend en charge deux systèmes de modules : les modules ES (utilisant import/export, également distribués sous forme de fichiers .mjs) et CommonJS (utilisant require/module.exports). Les données échangées entre les scripts et les serveurs sont couramment stockées au format JSON. Les projets nécessitant un contrôle de type statique utilisent TypeScript, un sur-ensemble typé qui se compile ensuite en .js.
Sécurité et sûreté
RISQUE : HIGHDans un navigateur web, JavaScript s'exécute dans un bac à sable (sandbox) et est relativement sûr. Le danger réside sous Windows : double-cliquer sur un fichier .js isolé le lance via Windows Script Host (WSH) avec les privilèges complets de votre compte - sans bac à sable. Les pièces jointes .js malveillantes (souvent dans des ZIP, parfois nommées facture.js / document.js) sont un moyen bien connu de diffuser des ransomwares et des chevaux de Troie. Règles : ne double-cliquez jamais sur un .js reçu par e-mail ou téléchargé ; ouvrez-le d'abord dans un éditeur de texte pour le lire ; gardez les extensions de fichiers Windows visibles pour qu'un « photo.jpg.js » ne puisse pas se camoufler. Sur le web, ne chargez que des scripts provenant de sources de confiance et utilisez les hachages Subresource Integrity (SRI) pour les scripts tiers.
Détails du format
en bref- Script JScript / Windows Script Host - Sous Windows, un double-clic sur .js s'exécute dans WSH (cscript/wscript) avec un accès complet au système - un vecteur classique de malware, et non un bac à sable de navigateur.
- Configuration JACOsub / JetScript / Netscape (hérité) - D'anciennes documentations répertoriaient .js pour les scripts de sous-titres JACOsub et les paramètres Netscape ; obsolète et effectivement inutilisé aujourd'hui.
Programmes qui ouvrent les fichiers JS
Détails techniques
spécifications approfondies| Type MIME | text/javascript (principal) ; également application/javascript, text/ecmascript, application/ecmascript |
| Encodage du texte | UTF-8 (requis pour les modules ES et la diffusion web) ; les fichiers hérités peuvent être en ASCII ou Latin-1 |
| Signature de fichier (octets magiques) | Aucune - format texte brut ; identifié par l'extension .js et le contenu, pas par les octets d'en-tête |
| Format de conteneur | Texte brut - instructions, fonctions et expressions lisibles par l'homme, exécutées de haut en bas |
| Systèmes de modules | Modules ES (import/export) et CommonJS (require/module.exports) ; résolus via le champ « type » du package.json |
| Environnements d'exécution | Tous les principaux navigateurs (Chrome V8, Firefox SpiderMonkey, Safari JavaScriptCore) et environnements serveur (Node.js, Deno, Bun) |
| Taille source typique | 1 Ko à quelques centaines de Ko par fichier ; les bundles de production peuvent atteindre plusieurs Mo |
| Livraison en production | Minifié (suppression des espaces et raccourcissement des identifiants), puis compressé avec gzip ou Brotli pour le transfert HTTP |
| Vérification d'intégrité | Subresource Integrity (SRI) - hachage sha256/sha384/sha512 dans l'attribut <script integrity="..."> du HTML |
| Paradigme du langage | Multi-paradigme : orienté objet à base de prototypes, fonctionnel et piloté par les événements |
| Extensions de désambiguïsation | .mjs (module ES explicite), .cjs (CommonJS explicite), .jsx (syntaxe React JSX), .ts (sur-ensemble TypeScript) |
| Visibilité de la source | La source est toujours lisible par l'homme ; l'offuscation est cosmétique et non une protection cryptographique |
| Organisme de normalisation | Ecma International (comité TC39) - norme ECMA-262 ; nouvelle édition publiée annuellement |
| Support Shebang | Les fichiers côté serveur peuvent commencer par #!/usr/bin/env node pour s'exécuter directement comme un script shell |
| Source maps | Les fichiers minifiés sont associés à des fichiers .map (JSON) pour faire correspondre la sortie compilée aux lignes sources originales |
| Publié | 1995 (Netscape Navigator 2.0); ECMA-262 1st edition 1997 |
| Dernière version | ECMAScript 2025 (ES2025 / 16th edition); language is updated yearly |
| Standard ouvert | Oui · libre de droits |
| Spécification | tc39.es |
Conversions JS
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers JS.