πŸ‘¨πŸ»β€πŸ’» λͺ¨λ˜ λ¦¬μ•‘νŠΈ Deep Dive [1μž₯ λ¦¬μ•‘νŠΈμ—μ„œ 자주 μ‚¬μš©ν•˜λŠ” 문법듀 ]

pjw__98Β·2023λ…„ 12μ›” 27일
1
post-thumbnail

πŸ“šμ±•ν„°

λ¦¬μ•‘νŠΈμ—μ„œ 자주 μ‚¬μš©ν•˜λŠ” μžλ°”μŠ€ν¬λ¦½νŠΈ 문법

πŸ“† ν•™μŠ΅ λ‚ μ§œ

2023 / 12 / 27 (수)


πŸ‘¨πŸ»β€πŸ’» ν•™μŠ΅ λ‚΄μš©

🎯 λ¦¬μ•‘νŠΈμ—μ„œ 자주 μ‚¬μš©ν•˜λŠ” μžλ°”μŠ€ν¬λ¦½νŠΈ 문법

일반적인 μžλ°”μŠ€ν¬λ¦½νŠΈ / Node.jsλ₯Ό 기반으둜 ν•œ μ½”λ“œλ³΄λ‹€ λ¦¬μ•‘νŠΈ μ½”λ“œκ°€ μƒλŒ€μ μœΌλ‘œ λ…νŠΉν•œ λͺ¨μŠ΅μ„ μ§€λ‹ˆκ³ μžˆλ‹€.

μ΄λŸ¬ν•œ λ…νŠΉν•¨μ€ JSX ꡬ문 λ‚΄λΆ€μ—μ„œ 객체λ₯Ό μ‘°μž‘ν•˜κ±°λ‚˜ 객체의 얕은 동등 비ꡐ 문제λ₯Ό ν”Όν•˜κΈ° μœ„ν•΄ 객체 λΆ„ν•΄ 할당을 ν•˜λŠ” λ“± λ¦¬μ•‘νŠΈμ˜ λͺ‡ κ°€μ§€ λ…νŠΉν•œ νŠΉμ§•μ—μ„œ λΉ„λ‘―λœλ‹€.

λ¦¬μ•‘νŠΈμ˜ λ…νŠΉν•œ νŠΉμ§•μ„ μ΄ν•΄ν•˜λ €λ©΄ λ¦¬μ•‘νŠΈμ—μ„œ 자주 μ‚¬μš© λ˜λŠ” μžλ°”μŠ€ν¬λ¦½νŠΈ 문법을 이해해야 ν•œλ‹€.

그리고 μžλ°”μŠ€ν¬λ¦½νŠΈ 문법을 μ΄ν•΄ν•œλ‹€λ©΄ λ°˜λŒ€λ‘œ λ¦¬μ•‘νŠΈκ°€ μ–΄λ–»κ²Œ μž‘λ™ν•˜λŠ”μ§€λ„ 이해할 수 μžˆλ‹€.

λ˜ν•œ λ‹€λ₯Έ 언어와 λ§ˆμ°¬κ°€μ§€λ‘œ μžλ°”μŠ€ν¬λ¦½νŠΈλ„ λ§€λ…„ μƒˆλ‘œμš΄ 버전과 ν•¨κ»˜ μƒˆλ‘œμš΄ κΈ°λŠ₯이 λ‚˜μ˜¨λ‹€.

μ΄λŸ¬ν•œ μžλ°”μŠ€ν¬λ¦½νŠΈ ν‘œμ€€μ„ ECMAScript라고 ν•˜λŠ”λ°, μž‘μ„±ν•˜κ³ μž ν•˜λŠ” μžλ°”μŠ€ν¬λ¦½νŠΈ 문법이 μ–΄λŠ ECMAScript λ²„μ „μ—μ„œ λ§Œλ“€μ–΄μ‘ŒλŠ”μ§€λ„ νŒŒμ•…ν•΄μ•Ό ν•œλ‹€.

μ™œλƒν•˜λ©΄ λͺ¨λ“œ λΈŒλΌμš°μ €μ™€ μžλ°”μŠ€ν¬λ¦½νŠΈ λŸ°νƒ€μž„μ΄ 
항상 μƒˆλ‘œμš΄ μžλ°”μŠ€ν¬λ¦½νŠΈ 문법을 μ§€μ›ν•˜λŠ” 것이 μ•„λ‹ˆκΈ° λ•Œλ¬Έμ΄λΌκ³ ν•œλ‹€.

인터넷 μ΅μŠ€ν”Œλ‘œλŸ¬ 11은 ECMAScript5 κΉŒμ§€λ§Œ μ§€μ›ν•˜κΈ° λ•Œλ¬Έμ— μ΅œμ‹  μžλ°”μŠ€ν¬λ¦½νŠΈ 문법을 μ‚¬μš©ν•  수 μ—†λ‹€κ³ ν•œλ‹€. λ§Œμ•½ μ„œλΉ„μŠ€ν•˜λŠ” μ›ΉνŽ˜μ΄μ§€κ°€ 인터넷 μ΅μŠ€ν”Œλ‘œλŸ¬ 11도 지원해야 ν•œλ‹€λ©΄ μ½”λ“œμ—μ„œ μ΅œμ‹  문법을 μ œκ³΅ν•  수 μ—†λ‹€λŠ” 점을 κ³ λ €ν•΄μ•Όν•œλ‹€κ³ ν•œλ‹€. (ECMAScript 5 이전 문법을 μ‚¬μš©ν•΄μ•Όν•¨)

심지어 μ›ΉνŽ˜μ΄μ§€μ— μ ‘κ·Όν•˜λŠ” μ‚¬μš©μžμ˜ λΈŒλΌμš°μ €μ™€ 버전은 κ°œλ°œμžμ™€ λ‹€λ₯΄κ²Œ 항상 μ΅œμ‹  버전이 μ•„λ‹ˆκ³  크둬,μ‚¬νŒŒλ¦¬,νŒŒμ΄μ–΄ν­μŠ€ λ“± λ‹€μ–‘ν•œ λΈŒλΌμš°μ €λ“€μ„ μ‚¬μš©μ€‘ 이기 λ•Œλ¬Έμ— 문법 지원 λ˜ν•œ μ—Όλ‘ν•˜μ—¬ κ°œλ°œν•΄μ•Όν•œλ‹€κ³ ν•œλ‹€.

μ΄λŸ¬ν•œ μ‚¬μš©μžμ˜ λ‹€μ–‘ν•œ λΈŒλΌμš°μ € ν™˜κ²½, μ΅œμ‹  문법을 μž‘μ„±ν•˜κ³  싢은 개발자의 μš”κ΅¬λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ 바벨같은 도ꡬ듀이 λ“±μž₯ν•˜κ³  μžˆλ‹€κ³ ν•œλ‹€. 바벨은 μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ μ΅œμ‹  문법을 λ‹€μ–‘ν•œ λΈŒλΌμš°μ €μ—μ„œλ„ μΌκ΄€μ μœΌλ‘œ 지원할 수 μžˆλ„λ‘ μ½”λ“œλ₯Ό 트랜슀파일(λ³€ν™˜)ν•œλ‹€.

바벨이 μ–΄λ–»κ²Œ μ΅œμ‹  μ½”λ“œλ₯Ό νŠΈλžœμŠ€νŒŒμΌν•˜λŠ”μ§€ , κ·Έ κ²°κ³Ό μ–΄λ–€ μ½”λ“œκ°€ μƒμ„±λ˜λŠ”μ§€ μ΄ν•΄ν•˜λ©΄ ν–₯ν›„ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ””λ²„κΉ…ν•˜λŠ” 데 도움이 λœλ‹€κ³ ν•œλ‹€.

인터넷 μ΅μŠ€ν”Œλ‘œλŸ¬ 11의 지원은 μ’…λ£Œλμ§€λ§Œ μ—¬μ „νžˆ μ–΄λŠ 정도 μ‚¬μš© 쀑이기도 ν•˜κ³ , ν˜Έν™˜λͺ¨λ“œλ₯Ό ν™œμ„±ν™”ν•˜λ©΄ μ—£μ§€ ν™˜κ²½μ—μ„œλ„ 인터넷 μ΅μŠ€ν”Œλ‘œλŸ¬ ν™˜κ²½μœΌλ‘œ νŽ˜μ΄μ§€μ— μ ‘κ·Όν•  수 있기 λ•Œλ¬Έμ΄λ‹€.이 뿐만 μ•„λ‹ˆλΌ μ…‹ν†±λ°•μŠ€μ™€ 같이 μ—…λ°μ΄νŠΈλ₯Ό μ‰½κ²Œ ν•  수 μ—†λŠ” κ΅¬ν˜• κΈ°κΈ°μ—μ„œλ„ ES5만 μž‘λ™ν•˜λŠ” κ²½μš°κ°€ μžˆμœΌλ―€λ‘œ κ°œλ°œμ„ ν•˜λŠ”λ° ES5κΈ°μ€€μœΌλ‘œ 트랜슀파일된 μ½”λ“œλ₯Ό νŒŒμ•…ν•˜λŠ” 것도 μ€‘μš”ν•˜λ‹€κ³ ν•œλ‹€.

➑️ λ‹€μŒ κΈ€μ—μ„œλŠ” ꡬ쑰 λΆ„ν•΄ 할당에 λŒ€ν•΄ μ‚΄νŽ΄λ³΄μž.

profile
β˜„οΈ

0개의 λŒ“κΈ€