JSX / TSX — fichier .jsx

stable

Syntaxe mêlant balisage type HTML et JavaScript, popularisée par React, transformée en JavaScript avant exécution.

Le JSX étend la syntaxe JavaScript pour permettre d’écrire du balisage proche du HTML directement dans le code, popularisé par la bibliothèque React (Facebook, 2013). Il ne fait l’objet d’aucune normalisation par un organisme comme le W3C ou l’IETF : sa grammaire reste définie et maintenue de facto par le dépôt de spécification JSX de Meta sur GitHub.

Ce format n’a pas de signature binaire : c’est du texte, une extension syntaxique du JavaScript. Un fichier .jsx n’est jamais exécuté tel quel par un navigateur, qui ne comprend pas nativement la syntaxe de balisage imbriquée : un outil comme Babel le transforme d’abord en appels de fonction JavaScript ordinaires.

.tsx est l’équivalent pour TypeScript : même syntaxe de balisage, combinée au typage statique du langage, nécessitant le compilateur TypeScript en plus de la transformation JSX avant de produire du JavaScript exécutable.

À l’époque où les outils de build n’étaient pas systématiques, Babel proposait une transformation directement dans le navigateur via un script <script type="text/babel">, qui recompilait le JSX à la volée au chargement de la page — un usage aujourd’hui réservé aux démonstrations rapides, jamais recommandé en production pour des raisons de performance.

Comme pour un fichier HTML ou JavaScript classique, le risque associé au .jsx/.tsx tient surtout à la chaîne d’approvisionnement du code (une dépendance compromise injectant du code malveillant) plutôt qu’à une exécution directe du fichier lui-même, puisqu’il ne peut de toute façon pas s’exécuter sans être d’abord transformé.

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 →

Questions fréquentes

Comment ouvrir un fichier .jsx ?

Babel, Visual Studio Code permettent d'ouvrir gratuitement un fichier .jsx. Voir la liste complète des logiciels compatibles ci-contre.

Quel est le type MIME du format JSX / TSX ?

Le type MIME du format JSX / TSX est text/jsx.

Le format JSX / TSX (.jsx, .tsx) est-il encore utilisé aujourd'hui ?

Oui, le format JSX / TSX est stable et toujours largement utilisé, sans signe de déclin.

Peut-on ouvrir un fichier .jsx sur mobile, sans installer d'application ?

Oui : Babel ou Visual Studio Code fonctionne directement depuis le navigateur d'un smartphone ou d'une tablette, sans application dédiée à installer.

Pourquoi un navigateur n'exécute-t-il jamais directement un fichier .jsx ?

Le JSX n'est pas du JavaScript valide : sa syntaxe de balisage (`<div>...</div>` directement dans le code) doit être transformée en appels de fonction JavaScript classiques (historiquement `React.createElement(...)`) par un outil comme Babel avant d'être servie au navigateur. Un fichier .jsx brut provoque une erreur de syntaxe s'il est chargé tel quel.

Un fichier ne s'ouvre pas : les causes possibles →

Comment savoir si un fichier est corrompu →

Sources

Dernière mise à jour :