Polyfill, Babel 간단 정리

Hunter Joe·2025년 8월 4일

해당 게시글은 AI를 기반으로 생성하고 제가 직접 다듬었습니다.

웹 개발을 하다 보면 최신 문법이나 기능이 구형 브라우저에서 작동하지 않는 문제가 자주 발생합니다. 이를 해결하기 위한 두 가지 핵심 도구가 바로 Babel과 Polyfill입니다.

📌 Babel이란?

Babel은 최신 JavaScript 문법을 구형 브라우저에서도 이해할 수 있게 바꿔주는 컴파일러입니다. 예를 들어 const, arrow function, class, async/await 같은 문법을 ES5 문법으로 변환(transpile)합니다.

e.g.

// ES6 문법
const add = (a, b) => a + b;

// Babel 변환 결과 (ES5)
var add = function(a, b) {
  return a + b;
};

📌 Polyfill이란?

Polyfill은 브라우저에 존재하지 않는 기능(API)을 재현해서 동작하게 만들어주는 코드입니다. 예를 들어 Promise, Array.prototype.includes, fetch 등은 구형 브라우저에 없기 때문에, 해당 기능을 직접 구현해주는 코드가 필요합니다.

e.g.

// Array.prototype.includes polyfill
if (!Array.prototype.includes) {
  Array.prototype.includes = function(value) {
    return this.indexOf(value) !== -1;
  };
}

정리

문법은 Babel이 해결하고 기능은 Polyfill이 채워주는 구조.

구분BabelPolyfill
역할문법 변환 (Syntax)기능 보완 (Feature/API)
대상const, class, asyncfetch, Promise, Intl
함께 사용보통 Polyfill과 같이 사용Babel + core-js 조합으로 많이 사용
profile
Async FE 취업 준비중.. Await .. (취업완료 대기중) ..

0개의 댓글