JSX is an expression which uses valid HTML statements within JavaScript. You can assign this expression to a variable and use it elsewhere. You can combine other valid JavaScript expressions and JSX within these HTML statements by placing them within braces (`{}`). Babel further compiles JSX into an object of type `React.createElement()`.
### Single-line & Multi-line expressions
Single-line expression are simple to use.
```jsx
const one = <h1>Hello World!</h1>;
```
When you need to use multiple lines in a single JSX expression, write the code within a single parenthesis.
```jsx
const two = (
<ul>
<li>Once</li>
<li>Twice</li>
</ul>
);
```
### Using only HTML tags
```jsx
const greet = <h1>Hello World!</h1>;
```
### Combining JavaScript expression with HTML tags
We can use JavaScript variables within braces.
```jsx
const who = "Quincy Larson";
const greet = <h1>Hello {who}!</h1>;
```
We can also call other JavaScript functions within braces.
A valid JSX expression can only have one tag at the highest level. However, the tag at the highest level, or the parent, can have as many child tags as you wish. If you run into a situation where you need to create a JSX expression with two tags at the same level, they must be wrapped in a an enclosing tag.