개발자가 최신 Js 코드를 언어의 최신 기능을 지원하지 않는 이전 브라우저나 환경에서 실행할 수 있는 호환 가능한 버전의 JS로 변환하는데 사용하는 도구이다.
Webpack, Gulp와 같은 널리 사용되는 빌드 도구용 플러그인을 통하거나 CodePen 또는 JSFiddle과 같은 도구를 사용하여 브라우저에서 직접 사용하는 등 여러 가지 방법으로 사용할 수 있다.
바벨 동작은
DOM => Document Object Model => 웹 페이지에 대한 인터페이스
Virtual Dom
state 변경이 있을때
새로운 Props가 들어올 때
부모 컴포넌트가 렌더링 될 떄
shouldComponentUpdate에서 true가 반환될 때
forceUpdate가 실행될 때