JavaScript — fichier .js
pérenneexécution directe — à risqueLangage de script exécuté par le navigateur (ou par Node.js) pour rendre une page interactive.
Un .js s'exécute au double-clic, sans confirmation de contenu — ce n'est pas un document qui se contente de s'afficher. Ne l'ouvrez pas directement : vérifiez d'abord sa vraie nature avec l'identifiant de fichiers, ou son empreinte avec le vérificateur de hash si une source de confiance en a publié une.
Le JavaScript rend une page HTML interactive : manipulation du contenu affiché, réaction aux clics, appels réseau en arrière-plan, sans recharger la page. Depuis Node.js (2009), le même langage s’exécute aussi côté serveur, en dehors de tout navigateur.
Ce format n’a pas de signature binaire : c’est du texte pur, sans en-tête distinctif. Son type MIME officiel a d’ailleurs changé : le RFC 9239 (2022) a fait de “text/javascript” le type recommandé par l’IANA, reléguant l’ancien “application/javascript” au rang de type obsolète — un changement rarement remarqué tant les navigateurs acceptaient déjà les deux depuis longtemps.
L’extension .mjs distingue explicitement un module ES (syntaxe import/export) d’un script classique en .js : Node.js s’appuie sur cette différence d’extension pour savoir quel système de modules utiliser, en l’absence d’indication contraire dans le package.json du projet.
Dans un navigateur, le JavaScript référencé par une page tourne dans un bac à sable qui limite son accès au système. Ce n’est plus le cas dès qu’un fichier .js isolé est ouvert directement sous Windows : le système l’associe par défaut à Windows Script Host, qui l’exécute avec les mêmes privilèges qu’un VBS, sans aucune confirmation de contenu — une confusion entre les deux contextes d’exécution qui explique une bonne partie des campagnes de pièces jointes malveillantes en .js observées depuis le milieu des années 2010.
TypeScript, qui ajoute un typage statique au-dessus de JavaScript, se compile vers du JavaScript classique avant exécution : aucun navigateur n’exécute directement un fichier .ts de code TypeScript (à ne pas confondre avec le flux vidéo MPEG Transport Stream, qui partage la même extension pour un usage totalement différent).
Signature binaire
Ce format n'a pas de signature binaire fiable : il ne peut pas être identifié de façon certaine par ses seuls premiers octets.
Vérifier qu'un fichier porte bien cette signature →
Sécurité
Peut contenir des scripts exécutables.
Un fichier .js référencé dans une page web s'exécute dans le bac à sable du navigateur, avec des permissions limitées. Mais un double-clic sur un .js isolé sous Windows le lance via Windows Script Host (wscript.exe), hors de tout bac à sable, avec les privilèges de l'utilisateur — un vecteur de pièce jointe malveillante largement exploité par des campagnes de rançongiciels.
Auditer les métadonnées de ce format →
Questions fréquentes
Comment ouvrir un fichier .js ?
Navigateurs web, Node.js permettent d'ouvrir gratuitement un fichier .js. Voir la liste complète des logiciels compatibles ci-contre.
Quel est le type MIME du format JavaScript ?
Le type MIME du format JavaScript est text/javascript.
Le format JavaScript (.js, .mjs) est-il encore utilisé aujourd'hui ?
Oui, le format JavaScript est pérenne : il reste activement utilisé et pris en charge par les logiciels actuels.
Peut-on ouvrir un fichier .js sur mobile, sans installer d'application ?
Oui : Navigateurs web fonctionne directement depuis le navigateur d'un smartphone ou d'une tablette, sans application dédiée à installer.
Pourquoi un e-mail bloque-t-il une pièce jointe .js ?
Les fournisseurs de messagerie (Gmail, Outlook) filtrent les extensions associées à un risque d'exécution automatique côté client, dont .js fait partie depuis que ce vecteur a été massivement utilisé pour diffuser des rançongiciels par e-mail. Voir le guide sur les pièces jointes bloquées.
Un fichier .js présente-t-il des risques de sécurité ?
Un fichier .js référencé dans une page web s'exécute dans le bac à sable du navigateur, avec des permissions limitées. Mais un double-clic sur un .js isolé sous Windows le lance via Windows Script Host (wscript.exe), hors de tout bac à sable, avec les privilèges de l'utilisateur — un vecteur de pièce jointe malveillante largement exploité par des campagnes de rançongiciels. Il peut contenir des scripts exécutables.
Un fichier ne s'ouvre pas : les causes possibles →
Comment savoir si un fichier est corrompu →
Sources
Dernière mise à jour :