JSX is a syntax extension for JavaScript that lets you embed markup-like tags directly inside your code, making component structures look like HTML. It is compiled before the browser runs the script, so the browser never sees JSX itself. This approach keeps the visual layout close to the logic that renders it.
Also called: JavaScript XML
Why it matters
Clients benefit because JSX lets developers create and maintain UI components faster and with fewer mistakes, which shortens development time and reduces the cost of future updates. A clearer codebase also means bugs are easier to spot, keeping the site reliable for users.
How it works
During the build step, a tool such as Babel parses JSX and transforms each tag into a call to React.createElement (or the equivalent for other libraries). The resulting JavaScript creates the virtual DOM nodes that React later reconciles with the real DOM. This transformation happens in the source files, not at runtime in the browser.
The mistake people make
A common error is treating JSX as plain HTML – for example using the attribute “class” instead of “className” or forgetting to wrap sibling elements in a single parent or a fragment. The code then fails to compile or throws runtime errors, causing the component to render nothing and delaying the launch.