{"componentChunkName":"component---src-templates-blog-post-js","path":"/web/201026-Babel/","result":{"data":{"site":{"siteMetadata":{"title":"Junbyeol Blog","author":"Junsung Yoon","siteUrl":"https://junbyeol.github.io","comment":{"disqusShortName":"","utterances":"junbyeol/junbyeol.github.io"},"sponsor":{"buyMeACoffeeId":"junbyeol"}}},"markdownRemark":{"id":"63b5214f-f8a7-5b16-b2d0-b2d0624d254f","excerpt":"이 글은 윤준성의 개발꼬맹이 시절, 혼자 노션에 공부하며 정리해둔 것 중 괜찮은 것을 추려올린 글입니다.\n기술블로그 글 기고 목적으로 작성되지 않아, 가독성이 좋지 않거나 알 수 없는 워딩이 있을 수 있습니다. What is Babel? · Babel 프론트엔드 개발환경의 이해: Babel 트랜스파일러(transpiler) 트랜스파일 vs 컴파일 컴파일: 한 언어로 작성된 소스 코드를 다른 언어로 변환하는 것 Java → bytecode c → assembly…","html":"<blockquote>\n<p>이 글은 윤준성의 개발꼬맹이 시절, 혼자 노션에 공부하며 정리해둔 것 중 괜찮은 것을 추려올린 글입니다.\n기술블로그 글 기고 목적으로 작성되지 않아, 가독성이 좋지 않거나 알 수 없는 워딩이 있을 수 있습니다.</p>\n</blockquote>\n<p><a href=\"https://babeljs.io/docs/en/\">What is Babel? · Babel</a></p>\n<p><a href=\"https://jeonghwan-kim.github.io/series/2019/12/22/frontend-dev-env-babel.html\">프론트엔드 개발환경의 이해: Babel</a></p>\n<h2 id=\"트랜스파일러transpiler\" style=\"position:relative;\"><a href=\"#%ED%8A%B8%EB%9E%9C%EC%8A%A4%ED%8C%8C%EC%9D%BC%EB%9F%ACtranspiler\" aria-label=\"트랜스파일러transpiler permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>트랜스파일러(transpiler)</h2>\n<h3 id=\"트랜스파일-vs-컴파일\" style=\"position:relative;\"><a href=\"#%ED%8A%B8%EB%9E%9C%EC%8A%A4%ED%8C%8C%EC%9D%BC-vs-%EC%BB%B4%ED%8C%8C%EC%9D%BC\" aria-label=\"트랜스파일 vs 컴파일 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>트랜스파일 vs 컴파일</h3>\n<ul>\n<li>\n<p>컴파일: 한 언어로 작성된 소스 코드를 다른 언어로 변환하는 것</p>\n<ul>\n<li>Java → bytecode</li>\n<li>c → assembly</li>\n</ul>\n</li>\n<li>\n<p>트랜스파일: 한 언어로 작성된 소스 코드를 비슷한 수준의 추상화를 가진 다른 언어로 변환하는 것</p>\n<ul>\n<li>es6 → es5</li>\n<li>c++ → c</li>\n<li>typescript → javascript</li>\n</ul>\n</li>\n</ul>\n<aside>\n💡 transpile이 compile에 포함되는 개념이라고도 할 수 있다!\n</aside>\n<h3 id=\"바벨\" style=\"position:relative;\"><a href=\"#%EB%B0%94%EB%B2%A8\" aria-label=\"바벨 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>바벨</h3>\n<ul>\n<li>구 브라우저는 ES6 이상의 자바스크립트 문법을 이해하지 못할수도 있다!</li>\n<li>이런 최신 ECMAScript를 ES5이하의 자바스크립트 문법으로 transpile해주는 것이 바벨</li>\n<li>\n<p>장점</p>\n<ul>\n<li>다양한 플러그인을 쉽게 추가해서 쓸 수 있다</li>\n<li>캐싱 + 단일 파일 방출 설계로 타입스크립트 컴파일보다 더 빠르다</li>\n</ul>\n</li>\n<li></li>\n</ul>\n<h2 id=\"바벨로-작업하기\" style=\"position:relative;\"><a href=\"#%EB%B0%94%EB%B2%A8%EB%A1%9C-%EC%9E%91%EC%97%85%ED%95%98%EA%B8%B0\" aria-label=\"바벨로 작업하기 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>바벨로 작업하기</h2>\n<div class=\"gatsby-highlight\" data-language=\"jsx\"><pre class=\"language-jsx\"><code class=\"language-jsx\"><span class=\"token comment\">// yarn add -D @babel/core</span>\n<span class=\"token comment\">// 이후 babel.config.json 혹은 babel.config.js를 작성해야 한다.</span>\n\n<span class=\"token keyword\">const</span> presets <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span>\n  <span class=\"token punctuation\">[</span>\n    <span class=\"token string\">\"@babel/env\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">{</span>\n      targets<span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n        edge<span class=\"token operator\">:</span> <span class=\"token string\">\"17\"</span><span class=\"token punctuation\">,</span>\n        firefox<span class=\"token operator\">:</span> <span class=\"token string\">\"60\"</span><span class=\"token punctuation\">,</span>\n        chrome<span class=\"token operator\">:</span> <span class=\"token string\">\"67\"</span><span class=\"token punctuation\">,</span>\n        safari<span class=\"token operator\">:</span> <span class=\"token string\">\"11.1\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      useBuiltIns<span class=\"token operator\">:</span> <span class=\"token string\">\"usage\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token string\">\"corejs\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"3.6.4\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n\nmodule<span class=\"token punctuation\">.</span>exports <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span> presets <span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span></code></pre></div>\n<h2 id=\"babelcore\" style=\"position:relative;\"><a href=\"#babelcore\" aria-label=\"babelcore permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>@babel/core</h2>\n<div class=\"gatsby-highlight\" data-language=\"jsx\"><pre class=\"language-jsx\"><code class=\"language-jsx\"><span class=\"token comment\">// 바벨의 핵심 기능을 담는 패키지로 아래와 같은 것이 가능하다!</span>\n\n<span class=\"token keyword\">const</span> babel <span class=\"token operator\">=</span> <span class=\"token function\">require</span><span class=\"token punctuation\">(</span><span class=\"token string\">'@babel/core'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\nbabel<span class=\"token punctuation\">.</span><span class=\"token function\">transform</span><span class=\"token punctuation\">(</span><span class=\"token string\">'code'</span><span class=\"token punctuation\">,</span> optionsObject<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>\n<p>하지만 아직까지는 ‘code’ 자리에 무엇을 넣어도 동일한 값이 리턴될 뿐이다.</p>\n<h2 id=\"babelcli\" style=\"position:relative;\"><a href=\"#babelcli\" aria-label=\"babelcli permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>@babel/cli</h2>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token comment\"># 아래 명령어는 src의 파일들을 lib이라는 폴더에 transpile 해준다</span>\n<span class=\"token function\">yarn</span> <span class=\"token function\">add</span> -D @babel/cli\n<span class=\"token function\">yarn</span> babel src --out-dir lib\n\n<span class=\"token comment\"># 플러그인을 추가할 수도 있다</span>\n<span class=\"token comment\"># 아래의 명령어로 비로소 'code'속 화살표 함수는 function(){} 문법으로 대체된다</span>\n<span class=\"token comment\"># 즉, 플러그인은 babel이 코드를 transpile하는 규칙들이다</span>\n<span class=\"token function\">yarn</span> <span class=\"token function\">add</span> -D @babel/plugin-transform-arrow-functions\n<span class=\"token function\">yarn</span> babel src --out-dir lib --plugins<span class=\"token operator\">=</span>@babel/plugin-transform-arrow-functions</code></pre></div>\n<h2 id=\"plugins\" style=\"position:relative;\"><a href=\"#plugins\" aria-label=\"plugins permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>plugins</h2>\n<ul>\n<li>일일이 플러그인을 적용하고 싶을떄마다 cli로 입력해주기에는 번거롭다</li>\n<li>babel.config에 플러그인들을 미리 추가해 놓으면 터미널 상에서 플러그인들을 입력하지 않아도 된다.</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"jsx\"><pre class=\"language-jsx\"><code class=\"language-jsx\">module<span class=\"token punctuation\">.</span>exports <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span>\n  plugins<span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token string\">'@babel/plugin-transform-block-scoping'</span><span class=\"token punctuation\">,</span>\n    <span class=\"token string\">'@babel/plugin-transform-arrow-functions'</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span></code></pre></div>\n<h2 id=\"프리셋preset\" style=\"position:relative;\"><a href=\"#%ED%94%84%EB%A6%AC%EC%85%8Bpreset\" aria-label=\"프리셋preset permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>프리셋(preset)</h2>\n<ul>\n<li>위에서 플러그인을 하나 적용했는데, 매번 필요한 플러그인들을 추가해주어야 하는가?</li>\n<li>\n<p>필요한 플러그인들을 모아서 프리셋으로 묶어놓자!</p>\n<ul>\n<li>위의 플러그인 두개를 하나의 프리셋으로 묶은 예제</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"jsx\"><pre class=\"language-jsx\"><code class=\"language-jsx\"><span class=\"token keyword\">function</span> <span class=\"token function\">mypreset</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">return</span> <span class=\"token punctuation\">{</span>\n    plugins<span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n      <span class=\"token string\">\"@babel/plugin-transform-arrow-functions\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token string\">\"@babel/plugin-transform-block-scoping\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token string\">\"@babel/plugin-transform-strict-mode\"</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n\nmodule<span class=\"token punctuation\">.</span>exports <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span>\n\tpresets<span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n\t\t<span class=\"token function\">mypreset</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n\t<span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span></code></pre></div>\n</li>\n<li>\n<p>바벨 공식 프리셋이 4가지 있다</p>\n<ul>\n<li>\n<p>preset-env</p>\n<ul>\n<li>preset-reset-es2015, preset-reset-es2016, preset-reset-es2017, preset-reset-latest을 합쳐놓은것</li>\n<li>ECMAScript2015+를 변환하는 프리셋</li>\n</ul>\n</li>\n<li>preset-flow</li>\n<li>preset-react</li>\n<li>\n<p>preset-typescript</p>\n<ul>\n<li>flow, react, typescript를 변환하기 위한 프리셋이다.</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"babelpreset-env\" style=\"position:relative;\"><a href=\"#babelpreset-env\" aria-label=\"babelpreset env permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>@babel/preset-env</h3>\n<ul>\n<li>어떤 버전의 브라우저(or Node)까지 지원할지 등을 target 속성으로 지정해줄 수 있다</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"jsx\"><pre class=\"language-jsx\"><code class=\"language-jsx\"><span class=\"token comment\">// babel.config.js</span>\nmodule<span class=\"token punctuation\">.</span>exports <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span>\n  presets<span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">[</span>\n      <span class=\"token string\">\"@babel/preset-env\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token punctuation\">{</span>\n        targets<span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n          chrome<span class=\"token operator\">:</span> <span class=\"token string\">\"79\"</span><span class=\"token punctuation\">,</span> <span class=\"token comment\">// 크롬 79까지 지원하는 코드를 만든다</span>\n\t\t\t\t\tie<span class=\"token operator\">:</span> <span class=\"token string\">\"11\"</span><span class=\"token punctuation\">,</span> <span class=\"token comment\">// ie 11까지 지원하는 코드를 만든다</span>\n\t\t\t\t\tnode<span class=\"token operator\">:</span> <span class=\"token string\">'current'</span><span class=\"token punctuation\">,</span>\n        <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<ul>\n<li>\n<p>promise는 간단한 스코핑 대체로 해결될 문제가 아니다</p>\n<ul>\n<li>ES5에서 promise는 ‘구현’하는 수밖에 없다</li>\n<li>폴리필이라는 코드조각을 추가해줘야 한다</li>\n<li>우리는 폴리필 패키지 중 하나인 core-js를 이용한다</li>\n</ul>\n</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"jsx\"><pre class=\"language-jsx\"><code class=\"language-jsx\"><span class=\"token comment\">// babel.config.js:</span>\nmodule<span class=\"token punctuation\">.</span>exports <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span>\n  presets<span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span>\n    <span class=\"token punctuation\">[</span>\n      <span class=\"token string\">\"@babel/preset-env\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token punctuation\">{</span>\n        useBuiltIns<span class=\"token operator\">:</span> <span class=\"token string\">\"usage\"</span><span class=\"token punctuation\">,</span> <span class=\"token comment\">// 폴리필 사용 방식 지정, usage, entry, false(default)</span>\n        corejs<span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n          <span class=\"token comment\">// 폴리필 버전 지정</span>\n          version<span class=\"token operator\">:</span> <span class=\"token number\">2</span><span class=\"token punctuation\">,</span>\n        <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n    <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n  <span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">}</span></code></pre></div>","frontmatter":{"title":"Babel","date":"October 26, 2020"}}},"pageContext":{"slug":"/web/201026-Babel/","previous":{"fields":{"slug":"/language/200816-프로그램-실행/"},"frontmatter":{"title":"프로그램 실행"}},"next":{"fields":{"slug":"/language/201027-타입/"},"frontmatter":{"title":"타입"}}}}}