IT지식

JSX란

오선지♬ 2025. 6. 11. 21:05
728x90
반응형

✅ JSX란?

JSX (JavaScript XML)JavaScript 안에서 HTML처럼 보이는 문법입니다.
주로 React에서 UI를 구성할 때 사용됩니다.

📌 정의: JSX는 JavaScript에 XML/HTML 문법을 결합한 확장 문법(Syntax Extension)


🧩 왜 JSX를 사용하는가?

React는 UI를 컴포넌트 단위로 구성하는데, JSX는 컴포넌트의 구조를 보기 쉽게 표현해줍니다.

예를 들어:

jsx
const element = <h1>Hello, world!</h1>;

위 코드는 보기엔 HTML 같지만 실제로는 JavaScript 코드입니다.
Babel 같은 도구가 이 코드를 다음과 같이 변환합니다:

js
const element = React.createElement('h1', null, 'Hello, world!');

 


💡 JSX 특징 요약

특징 설명
HTML과 유사한 문법 <div>, <h1> 등 HTML 태그처럼 보임
JavaScript 코드와 혼합 가능 {} 중괄호 안에 JS 표현식 사용
컴파일 필요 브라우저가 JSX를 직접 이해하지 못하므로 Babel 등으로 변환 필요
컴포넌트 구성에 최적 React에서 UI를 계층적으로 만들기 쉬움
 

🧪 JSX 예시

jsx
function Greeting({ name }) {
  return <h1>Hello, {name}!</h1>;
}
  • name은 props로 전달된 값이고
  • {} 안에서 JavaScript 표현식을 사용할 수 있습니다.

⚠️ JSX 문법 주의사항

주의사항 설명
태그는 반드시 닫아야 함 <img />, <br />처럼 셀프 클로징 필요
하나의 부모 요소로 감싸야 함 여러 요소를 리턴하려면 <div> 또는 <></> 사용
class → className HTML의 class는 JSX에선 className으로
style은 객체로 <div style={{ color: 'red' }}> 형태로 작성
 

📌 JSX 요약

항목 설명
목적 JavaScript에서 UI 구조를 HTML처럼 쉽게 표현
주 사용처 React 컴포넌트
특징 HTML-like 문법, JavaScript 표현식 가능
변환 Babel 등으로 React.createElement 코드로 컴파일됨
728x90
반응형

'IT지식' 카테고리의 다른 글

performance.getEntriesByType("navigation")  (0) 2025.06.18
[intelliJ] Redo 단축키 (ctrl + y)  (0) 2025.06.16
Babel 이란  (1) 2025.06.10
IntelliJ에서 정의로 이동  (0) 2025.06.07
Visual Studio Code F12 / 정의로 이동이란 ?  (0) 2025.06.06