Dev/React.js

[React] .js & .jsx

隣席の開発者群 2023. 5. 2. 11:47
반응형

 

React 프로젝트를 만들어봤다면 다들 알겠지만, .js와 .jsx 파일이 공존한다.

물론 타입스크립트를 사용했을 경우에는 .ts 와 .tsx다.

처음 봤을 때는 그냥 직감상으로만 생각했었는데, 컴포넌트를 만들때는 .jsx(.tsx)를 사용하고, 

그냥 일반 JavaScript문서를 만들땐 .js(ts)를 만드는 것 정도? 의 차이라고만 생각했지, 정확히 어떤 의미인지 생각해보려고 하지는 않았던 것 같다. 그래서 이번에 정리해두려 한다. 

 

1. JSX (JavaScript XML)

const Component = () => {

return (
    <ReactComponent/>  // 요게 JSX
)}

제목에서도 알겠지만, jsx는 JavaScript XML 을 줄인 말이다. 

JavaScript에서 HTML 문법을 사용할 수 있도록 해주는 그런 용도. 

UI구현에 주로 사용하도록 권장하고 있으며, Babel이라는 컴파일러를 통해 일반 JS로 변환이 된다. 

때문에 jsx 내부에서는 자바스크립트 문법을 사용하기 위해서 중괄호{}를 사용해줘야만 한다. 

 

2. .js VS .jsx

사실 확장자로써는 크게 차이가 없다. 거의 동일하다. 하지만 JSX는 JS 표준 문법이 아니라는 점은 알고 있으면 될 것 같다.

 

3. TypeScript의 경우

TypeScript에 대한 설명을 하지 않았지만 가볍게 이야기 하자면 타입에 대한 부분이 다이나믹한 JS의 관련 문제들을 해결하기 위해 타입을 명시할 수 있도록한 확장판 이라고 생각하면 될 것 같다.

tsx의 경우 jsx의 문법 사용이 가능하나, ts에서는 js의 문법 사용이 불가능하다는 점을 생각할 수 있으면 되겠다.

LIST

'Dev > React.js' 카테고리의 다른 글

[React] React Query  (0) 2023.05.24
[상태관리] 상태관리(State)  (0) 2023.05.18
[React] 함수형 프로그래밍과 hooks  (0) 2023.05.02
[React] Component LifeCycle  (0) 2023.04.27
React 를 시작하기 전에 (2)  (0) 2023.04.08