JavaScript

Babel μ΄λž€?

soyλ―Έλ‹ˆ 2022. 5. 11. 10:20

 

 

ν”„λ‘œμ νŠΈ ν•  λ•Œ babel.config.js νŒŒμΌμ„ λ³΄λ©΄μ„œ 이게 뭐지 μ‹Άμ–΄ 검색해본 적이 μžˆλ‹€.

그런데 이게 문법도 μ•„λ‹ˆκ³  언어도 μ•„λ‹ˆλΌ κ·ΈλŸ°μ§€ 계속 κ·Έ 의미λ₯Ό 잊게 λ˜λŠ” λ§ˆμ„±μ˜ babel ....

 

κ·Έλž˜μ„œ μ˜€λžœλ§Œμ— μžλ°”μŠ€ν¬λ¦½νŠΈ 곡뢀λ₯Ό λ‹€μ‹œ ν•˜λ˜ 쀑에 babel ν‚€μ›Œλ“œλ₯Ό λ°œκ²¬ν•΄μ„œ μ •λ¦¬ν•΄λ³΄λ €κ³ ν•œλ‹€.

 

 

babel μ΄λž€ 무엇인가 ···

μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ λ³€μˆ˜ νƒ€μž…μ—λŠ” var / let / const κ°€ μžˆλ‹€.

var μ‚¬μš©μ„ μ§€μ–‘ν•œλ‹€κ³ λŠ” ν•˜λ‚˜, let / const λ³€μˆ˜μ˜ 경우 IE9, IE10 μ—μ„œ μ‚¬μš©μ΄ λΆˆκ°€ν•˜λ‹€.

그러면 IE9, IE10 ν™˜κ²½μ—μ„œλŠ” var νƒ€μž…μ˜ λ³€μˆ˜λ§Œ μ„ μ–Έν•  수 μžˆλŠ” 걸까?

  결둠은 μ•„λ‹ˆλ‹€!

μ™œλƒν•˜λ©΄ babel 이 μ‘΄μž¬ν•˜κΈ° λ•Œλ¬Έ ···

 

κ΅¬ν˜• λΈŒλΌμš°μ €μ—μ„œλ„ μ½”λ“œκ°€ λŒμ•„κ°ˆ 수 μžˆκ²Œλ” λ„μ™€μ£ΌλŠ” 도ꡬ가 λ°”λ‘œ babel 인 것이닀.

ν•˜μ§€λ§Œ babel 을 μ‚¬μš©ν•œλ‹€κ³  ν•΄μ„œ μ΅œμ‹  μ–Έμ–΄ 및 문법을 κ΅¬ν˜• λΈŒλΌμš°μ €μ—μ„œ λ°”λ‘œ μ‚¬μš©ν•  수 μžˆλŠ” 것은 μ•„λ‹ˆλ‹€.

babel 은 μ΅œμ‹  문법을 μžλ°”μŠ€ν¬λ¦½νŠΈλ‘œ λ³€ν™˜λ§Œ ν•  뿐,

babel-polyfill 을 톡해 λΈŒλΌμš°μ €μ—μ„œ μ§€μ›ν•˜μ§€ μ•ŠλŠ” μ΅œμ‹  문법에 λŒ€ν•œ ν”ŒλŸ¬κ·ΈμΈμ„ μΆ”κ°€ν•˜μ—¬ ν˜Έν™˜μ„±μ„ μ±„μ›Œλ„£λŠ” μž‘μ—…μ΄ ν•„μš”ν•˜λ‹€.

 

 

β–  babel : 컴파일 (μ†ŒμŠ€μ½”λ“œ -> 기계어 -> μ‘μš©ν”„λ‘œκ·Έλž¨ λ³€ν™˜) μ‹œ μ‹€ν–‰

β–  babel-polyfill : λŸ°νƒ€μž„ (μ‘μš©ν”„λ‘œκ·Έλž¨ λ™μž‘) μ‹œ μ‹€ν–‰