ìë°ì¤í¬ë¦½í¸ë ëììì´ ì§ííë ì¸ì´ì ëë¤. ìë¡ì´ ì ì(proposal)ì´ ì 기ì ì¼ë¡ ë±ë¡, ë¶ìëê³ , ê°ì¹ê° ìë¤ê³ íë¨ëë ì ìì https://tc39.github.io/ecma262/ì ì¶ê°ë©ëë¤. ê·¸ë¦¬ê³ ê¶ê·¹ì ì¼ë¡ ëª ì¸ì(specification)ì ë±ë¡ë©ëë¤.
ìë°ì¤í¬ë¦½í¸ ìì§ì ë§ëë ê° ì¡°ì§ì ëë¦ëë¡ ì°ì ìì를 매겨 ëª ì¸ì ë´ ì´ë¤ 기ë¥ì 먼ì 구íí ì§ ê²°ì í©ëë¤. ëª ì¸ìì ë±ë¡ë 기ë¥ë³´ë¤ ì´ì(draft)ì ìë ì ìì 먼ì 구ííê¸°ë¡ ê²°ì íë ê²½ì°ë ììµëë¤. 구í ëëê° ëìì ì´ë° ê²°ì ì ë´ë¦¬ë ê²½ì°ë ìì§ë§, 구미를 ë¹ê¸°ì§ ìì ì´ë° ê²°ì ì ë´ë¦¬ê¸°ë í©ëë¤.
ìì§ì´ íì¤ ì 체를 ì§ìíì§ ìê³ ì¼ë¶ë§ ì§ìíë ê±´ íí ì¼ì´ì£ .
ìì§ë³ë¡ ì´ë¤ 기ë¥ì ì§ìíê³ ìëì§ë https://kangax.github.io/compat-table/es6/ìì íì¸í ì ììµëë¤. íê° ìë¹í í°ë°, ê° ê¸°ë¥ì ëí´ì 차근차근 ë°°ì¸ ìì ì´ë ë무 ê²ë¨¹ì§ ìì¼ì ë ë©ëë¤.
ë°ë²¨
ëª ì¸ìì ë±ë¡ë ì§ ì¼ë§ ì ë 기ë¥ì ì¬ì©í´ ì½ë를 ìì±íë¤ ë³´ë©´ í¹ì ìì§ìì ì°ë¦¬ê° ìì±í ì½ë를 ì§ìíì§ ìëë¤ë 걸 ìê² ëë ê²½ì°ê° ììµëë¤. ëª ì¸ì ë´ ëª¨ë 기ë¥ì 모ë ìì§ì´ 구ííê³ ìì§ ì기 ë문ì´ì£ .
ì´ë´ ë ë°ë²¨ì ì¬ì©í ì ììµëë¤.
ë°ë²¨(Babel)ì í¸ëì¤íì¼ë¬(transpiler)ë¡, 모ë ìë°ì¤í¬ë¦½í¸ ì½ë를 구 íì¤ì ì¤ìíë ì½ëë¡ ë°ê¿ì¤ëë¤.
ë°ë²¨ì 주ì ìí ì ë¤ìê³¼ ê°ìµëë¤.
-
í¸ëì¤íì¼ë¬ â ë°ë²¨ì ì½ë를 ì¬ìì±í´ì£¼ë í¸ëì¤íì¼ë¬ íë¡ê·¸ë¨ì ëë¤. ë°ë²¨ì ê°ë°ìì ì»´í¨í°ìì ëìê°ëë°, ì´ë¥¼ ì¤ííë©´ 기존 ì½ëê° êµ¬ íì¤ì ì¤ìíë ì½ëë¡ ë³ê²½ë©ëë¤. ë³ê²½ë ì½ëë ì¹ì¬ì´í¸ ííë¡ ì¬ì©ììê² ì ë¬ë©ëë¤. ì¹í©(webpack)ê³¼ ê°ì 모ë íë¡ì í¸ ë¹ë ìì¤í ì ì½ëê° ìì ë ëë§ë¤ ìëì¼ë¡ í¸ëì¤íì¼ë¬ë¥¼ ëììì¼ì¤ëë¤. ì´ë° ê³¼ì ì´ ìì¼ë©´ ê°ë°ì´ ëë ì½ë를 íë° íµí©íë ë° ì´ë ¤ìì´ ìì ì ììµëë¤.
-
í´ë¦¬í
ëª ì¸ìì ìë¡ì´ 문ë²ì´ë 기존ì ìë ë´ì¥ í¨ìì ëí ì ìê° ì¶ê°ë곤 í©ëë¤. ìë¡ì´ 문ë²ì ì¬ì©í´ ì½ë를 ìì±íë©´ í¸ëì¤íì¼ë¬ë ì´ë¥¼ 구 íì¤ì ì¤ìíë ì½ëë¡ ë³ê²½í´ì¤ëë¤. ë°ë©´, ìë¡ê² íì¤ì ì¶ê°ë í¨ìë ëª ì¸ì ë´ ì ì를 ì½ê³ ì´ì ë§ê² ì§ì í¨ì를 구íí´ì¼ ì¬ì©í ì ììµëë¤. ìë°ì¤í¬ë¦½í¸ë ë§¤ì° ëì ì¸ ì¸ì´ë¼ì ìíê¸°ë§ íë©´ ì´ë¤ í¨ìë¼ë ì¤í¬ë¦½í¸ì ì¶ê°í ì ììµëë¤. ë¬¼ë¡ ê¸°ì¡´ í¨ì를 ìì íë ê²ë ê°ë¥í©ëë¤. ê°ë°ìë ì¤í¬ë¦½í¸ì ìë¡ì´ í¨ì를 ì¶ê°íê±°ë ìì í´ì ì¤í¬ë¦½í¸ê° ìµì íì¤ì ì¤ìí ì ìê² ìì í ì ììµëë¤.
ì´ë ê² ë³ê²½ë íì¤ì ì¤ìí ì ìê² ê¸°ì¡´ í¨ìì ëì ë°©ìì ìì íê±°ë, ìë¡ê² 구íí í¨ìì ì¤í¬ë¦½í¸ë¥¼ "í´ë¦¬í(polyfill)"ì´ë¼ ë¶ë¦ ëë¤. í´ë¦¬í(poly
fill)ì ë§ ê·¸ëë¡ êµ¬íì´ ëë½ë ìë¡ì´ 기ë¥ì ë©ê¿ì£¼ë(fill in) ìí ì í©ëë¤.주목í ë§í í´ë¦¬í ë ê°ì§ë ìëì ê°ìµëë¤.
- core js â ë¤ìí í´ë¦¬íì ì ê³µí©ëë¤. í¹ì 기ë¥ì í´ë¦¬íë§ ì¬ì©íë ê²ë ê°ë¥í©ëë¤.
- polyfill.io â 기ë¥ì´ë ì¬ì©ìì ë¸ë¼ì°ì ì ë°ë¼ í´ë¦¬í ì¤í¬ë¦½í¸ë¥¼ ì ê³µí´ì£¼ë ìë¹ì¤ì ëë¤.
모ë ìë°ì¤í¬ë¦½í¸ë¥¼ ì´ì©í´ ì¤í¬ë¦½í¸ë¥¼ ìì±íë ¤ë©´ í¸ëì¤íì¼ë¬ì í´ë¦¬íì íìì ëë¤.
íí 리ì¼ìì ìì ì¤íí기
íí ë¦¬ì¼ ë´ ìì ëë¶ë¶ì ìëì ê°ì´ í´ë¦ í ë²ì¼ë¡ ë°ë¡ ì¤íí ì ììµëë¤.
alert('ì°ì¸¡ ìë¨ ëª¨ì리ì ìë "ì¬ì" ë²í¼ì ëë¬ ì¤í¬ë¦½í¸ë¥¼ ì¤íí´ ë³´ì¸ì.');
모ë ìë°ì¤í¬ë¦½í¸ë¥¼ ì¬ì©í´ ìì±í ììë í´ë¹ 기ë¥ì ì§ìíë ë¸ë¼ì°ì ììë§ ìëí©ëë¤.
Google Chromeì 모ë ë¸ë¼ì°ì ì¤ ëê° ê°ì¥ 먼ì ìµì 기ë¥ì ì§ìí©ëë¤. í¸ëì¤íì¼ë¬ ìì´ ìµì 기ë¥ì ì¬ì©í ì ì기 ë문ì Chromeì ë°ëª¨ì©ì¼ë¡ ì¬ì©í기 ì¢ìµëë¤. ê·¸ë°ë° ë¤ë¥¸ ë¸ë¼ì°ì ë¤ë ë§ì´ ë¤ì²ì§ë í¸ì ìëë ìì¬íê³ ì¬ì©íì ë ë ê² ê°ìµëë¤.
ëê¸
<code>í그를, ì¬ë¬ ì¤ë¡ 구ì±ë ì½ë를 ì½ì íê³ ì¶ë¤ë©´<pre>í그를 ì´ì©íì¸ì. 10ì¤ ì´ìì ì½ëë plnkr, JSBin, codepen ë±ì ìëë°ì¤ë¥¼ ì¬ì©íì¸ì.