공식 사이트 정의 : Babel is a JavaScript compiler.
자바스크립트 컴파일러이다. javascript로 결과물을 만들어주는 컴파일러이다.
ES6코드를 이전 버전의 자바스크립트로 변환하는데 주로 사용되는 도구체인이다.
소스 대 소스 컴파일러 (transpiler) 라고 불린다.
JSX로 적은 코드를 브라우저가 이해할 수 있는 형태로 바꿔준다.
Transpiler (트랜스파일러)
→ 한 언어로 작성된 소스 코드를 비슷한 수준의 추상화를 가진 다른 언어로 변환하는 것을 의미한다.
컴파일은 한 언어로 작성된 코드를 다른 언어로 변환하는 것인데, 트랜스 파일러와 컴파일은 이 부분에서 다르다.
기술은 빠르게 발전하고 있다.
ESNext 문법을 기존의 브라우저에 사용하기 위해서는 babel은 필수적이다.
왜냐하면 모든 사람들이 새로운 브라우저를 쓰는 게 아니라 예전 브라우저 예전 OS를 사용하고 있기 때문이다.
새로운 문법 : ES6이상
npm i --save-dev @babel/core @babel/cli @babel.preset-env