JavaScript Xml
자바스크립트 안에 HTML 코드를 쓸 수 있게 해주는 문법입니다.
브라우저는 JSX 파일을 직접 읽을 수 없기 때문에 브라우저 실행 전 "바벨"과 같은 컴파일러를 통해 일반 자바스크립트 형태의 코드로 변환됩니다.
// 실제 JSX 예시
function App() {
return (
<h1>Hello, World!</h1>
);
}
위와 같이 작성 시 바벨이 다음과 같이 자바스크립트로 해석
function App() {
return React.createElement("h1", null, "Hello, World!");
}
JSX(외국인) > 컴파일러(번역가) > 브라우저(외국말을 모르는 한국인)
물론, JSX를 사용하는 것은 필수가 아닙니다! 하지만 왜!
많은 개발자들이 리액트와 함께 JSX 문법을 사용하는 걸까요?
const element = <h1>Hello, world!</h1>;
//오류
function App() {
return (
<div>Hello</div>
<div>World!</div>
);
}
//반드시 하나의 부모로 감싸기
function App() {
return (
<div> 또는 <>
<div>Hello</div>
<div>World!</div>
</div> 또는 </>
);
}
function App() {
const name = 'World';
return (
<div>
<div>Hello</div>
<div>{name}!</div>
</div>
);
}
function App() {
const loginYn = 'Y';
return (
<>
<div>
{loginYn === 'Y' ? (
<div>회원 입니다.</div>
) : (
<div>비회원 입니다.</div>
)}
</div>
</>
);
}
function App() {
const style = {
backgroundColor: 'red',
fontSize: '12px'
}
return (
<div style={style}>Hello!</div>
);
}
🎓JSX란 무엇인가요?
✅ 참고
https://ko.legacy.reactjs.org/docs/introducing-jsx.html
https://goddaehee.tistory.com/296