Babel은 소스 문법을 파싱, 변환, 생성 단계로 바꾼다

Babel은 최신 문법을 대상 환경이 이해할 코드로 바꾸지만 Promise나 fetch 같은 런타임 API를 만들지는 않는다.

단계하는 일예시주의점
Parse소스 코드를 AST로 읽음arrow function, class field문법 자체를 못 읽으면 실패
Transformplugin과 preset이 AST를 바꿈optional chaining 변환대상 환경 기준이 필요
Generate변환된 AST를 JS 코드로 출력target JSsource map과 디버깅 확인
Preset여러 변환 규칙 묶음preset-envbrowserslist 품질에 의존
Polyfill boundary없는 API는 별도 보강 필요Promise, fetch, Array.from문법 변환과 API 보강 혼동

Babel은 코드 모양을 바꾸는 도구이고 polyfill은 실행 환경에 없는 기능을 채우는 전략이다.