이전 포스팅에서 번들러 이야기를 했었는데, 그렇다면 당연히 Babel의 이야기를 안할 수 없습니다.
리액트 쓰다보면 Babel 다들 한번쯤.. 보셨죠? 그럼 가 봅시다
그래서 바벨이 뭔데?
당연히.. Babel이란걸 처음 들어보시는 분들도 있을거라고 다시금 생각하여 간단하게 설명드리자면,
우리가 지금 사용하는 JS를 구형 브라우저에서도 사용할 수 있도록 번역해주는 도구입니다.
Babel은 컴파일러다
엥..? JS는 인터프리터 언어인데요..? 라고 하시면, JS에서 JS로 컴파일 해주는 도구입니다.
그럼 이거 왜쓰나요?
Legacy 대응
우리가 ES6, ESNext ... 로 부르는 최신 버전들이 있으니 당연히 과거 버전도 있습니다.
과거 버전에서는 최신 버전에서 나온 JS 기능들을 사용할 수 없을거구요,
그냥 레거시 브라우저를 안쓰면 되지 않나요? 라고 하실 수 있지만, JS가 변하는 속도가 엄청나게 빠르기때문에
때때로 최신 브라우저들도 지원하지 못하는 기능이 있을 때가 있습니다.
하여 레거시 브라우저들부터 최신 브라우저까지, 심지어 모바일 웹 환경에서까지 최신 문법들을 사용할 수 있도록 하기위해서 Babel을 쓰는 것 입니다!
TypeScript 대응
TypeScript에서 JavaScript로 변환시켜주는 도구 또한 이 Babel을 사용하게 됩니다.
뭐, 대표적으로 TypeScript를 말한 것 뿐이지 웹단에서 최종적으로 JavaScript로 동작하는 언어들은 모두 Babel을 쓴다고 생각하면 될 것 같습니다.
이정도면 Babel을 왜 쓰는지에 대해서는 어느정도 설명을 한 것 같습니다.
근데 리액트 쓰시면서 Babel을 따로 설치하셨던 기억이 없다구요?
그건 바로, create-react-app과 같은 도구를 설치하면 알아서 세팅해주기 때문입니다.
자동으로 세팅해줘서 그냥 지나칠 수 있지만, 매우 중요한 도구인 Babel에 대해서 여러분들도 더 공부해보시는걸 추천드립니다!
'STUDY > JavaScript' 카테고리의 다른 글
[JS] 번들러란 무엇인가? (0) | 2023.09.24 |
---|---|
[JS] 23년 JS에 새로 추가된 기능들 (0) | 2023.07.30 |
자바스크립트 정리 (0) | 2022.05.30 |
Comment