B1 : μžλ°”μŠ€ν¬λ¦½νŠΈλž€?

2025. 1. 23. 21:55ㆍFront-end/JavaScript

λ°˜μ‘ν˜•

λͺ©μ°¨

1. μžλ°”μŠ€ν¬λ¦½νŠΈλž€?

2. μžλ°”μŠ€ν¬λ¦½νŠΈλ‘œ 뭘 ν•  수 μžˆμ„κΉŒ?

3. 강점과 μ§„ν™”ν•œ μ–Έμ–΄λ“€


1. μžλ°”μŠ€ν¬λ¦½νŠΈλž€?

πŸ“• μ •μ˜

μ›ΉνŽ˜μ΄μ§€μ˜ λ™μž‘을 μ œμ–΄ν•˜λŠ” ν”„λ‘œκ·Έλž˜λ° 언어이닀.

 

μžλ°”μŠ€ν¬λ¦½νŠΈλ‘œ μž‘μ„±ν•œ ν”„λ‘œκ·Έλž¨ = μŠ€ν¬λ¦½νŠΈ(script)

HTML 내뢀에 슀크립트λ₯Ό μž‘μ„±ν•  수 μžˆλŠ”λ°, μ›ΉνŽ˜μ΄μ§€λ₯Ό 뢈러였면 μŠ€ν¬λ¦½νŠΈκ°€ μžλ™μœΌλ‘œ μ‹€ν–‰λœλ‹€.

 

TMI둜 μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” ν™λ³΄μš©μœΌλ‘œ μ§€μ–΄μ§„ 이름이닀.

λ‹Ήμ‹œ 인기가 있던 μžλ°”λ₯Ό μ΄μš©ν•΄μ„œ 지은 κ²ƒμœΌλ‘œ, μžλ°”μ™€λŠ” 아무 상관이 μ—†λ‹€.

 

μžλ°”μŠ€ν¬λ¦½νŠΈ κ΄€λ ¨ λ¬Έμ„œλ“€μ΄ λͺ‡ 개 μžˆλ‹€.

  • ECMAμžλ°”μŠ€ν¬λ¦½νŠΈ μ •μ˜ λ¬Έμ„œλ‘œ, κ°€μž₯ μƒμ„Έν•˜κ³  μ‹ λ’°μ„± μžˆλ‹€.
  • MDN JavaScript Referenceμžλ°”μŠ€ν¬λ¦½νŠΈ ν•¨μˆ˜μ™€ λ©”μ„œλ“œμ˜ λ‹€μ–‘ν•œ μ˜ˆμ œμ™€ 정보가 μžˆλ‹€.
  • CaniuseλΈŒλΌμš°μ €μ—μ„œ νŠΉμ • κΈ°λŠ₯을 μ§€μ›ν•˜λŠ”μ§€ 확인할 수 μžˆλ‹€.
  • Kangaxμžλ°”μŠ€ν¬λ¦½νŠΈ κΈ°λŠ₯ λͺ©λ‘ 및 μ—”μ§„ 지원 μ—¬λΆ€λ₯Ό ν‘œλ‘œ 확인할 수 μžˆλ‹€.

 

πŸš‚ μžλ°”μŠ€ν¬λ¦½νŠΈ μ—”μ§„

μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” μžλ°”μŠ€ν¬λ¦½νŠΈ μ—”μ§„λ§Œ 있으면 λΈŒλΌμš°μ €, μ„œλ²„, λͺ¨λ“  λ””λ°”μ΄μŠ€μ—μ„œ λ™μž‘ν•  수 μžˆλ‹€.

λΈŒλΌμš°μ €λŠ” μžλ°”μŠ€ν¬λ¦½νŠΈ 가상 λ¨Έμ‹ μ΄λΌλŠ” 엔진이 λ‚΄μž₯λ˜μ–΄ μžˆλ‹€.

 

μ—”μ§„μ˜ μ’…λ₯˜λŠ” λ‹€μ–‘ν•˜κ²Œ 있으며, 각각의 μ½”λ“œλ„€μž„μ„ κ°€μ§„λ‹€.

μ–΄λ–€ κΈ°λŠ₯은 νŠΉμ • μ—”μ§„μ—μ„œ 지원을 μ•ˆν•  μˆ˜λ„ 있기 λ•Œλ¬Έμ— μ½”λ“œλ„€μž„μ„ μ•Œκ³  있으면 μ’‹λ‹€.

(e.g. 00κΈ°λŠ₯은 V8μ—μ„œλ§Œ 지원)

  • V8 : Chrome, Opera
  • SpiderMonkey : FireFox
  • Trident / Chakra : IE(버전에 따라 λ‹€λ₯Έ κ±Έ μ‚¬μš©)
  • ChakraCore : Microsoft Edge
  • SquirrelFish : Safari

μ—”μ§„μ˜ λ™μž‘ ν”„λ‘œμ„ΈμŠ€ (간단)

  1. νŒŒμ‹± : 엔진이 슀크립트λ₯Ό 읽음
  2. 컴파일 : 슀크립트λ₯Ό κΈ°κ³„μ–΄λ‘œ μ „ν™˜
  3. μ‹€ν–‰ : μ „ν™˜λœ μ½”λ“œκ°€ 싀행됨

엔진은 ν”„λ‘œμ„ΈμŠ€ λ‹¨κ³„λ§ˆλ‹€ μ΅œμ ν™”λ₯Ό ν•˜μ—¬ μ‹€ν–‰ 속도λ₯Ό 높인닀.


2. μžλ°”μŠ€ν¬λ¦½νŠΈλ‘œ 뭘 ν•  수 μžˆμ„κΉŒ?

μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” μ €μˆ˜μ€€ μ˜μ—­μ˜ μ‘°μž‘μ„ ν—ˆμš©ν•˜μ§€ μ•ŠλŠ”λ‹€.

λΈŒλΌμš°μ €λ₯Ό λ‹€λ£° λ•ŒλŠ” 그런 접근듀이 ν•„μš”ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ΄λ‹€.

λΈŒλΌμš°μ € ν™˜κ²½μ΄λΌλ©΄ μžλ°”μŠ€ν¬λ¦½νŠΈλ‘œ μ›ΉνŽ˜μ΄μ§€ μ‘°μž‘, ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„μ˜ μƒν˜Έμž‘μš©μ— κ΄€λ ¨λœ λͺ¨λ“  일을 ν•  수 μžˆλ‹€.

 

β­• ν•  수 μžˆλŠ” 것

  • μƒˆλ‘œμš΄ HTML, CSSλ₯Ό μΆ”κ°€ν•˜κ±°λ‚˜ μˆ˜μ •
  • μ‚¬μš©μž μƒν˜Έμž‘μš©μ— λŒ€ν•œ λ™μž‘ν•˜κΈ°(마우슀, ν‚€λ³΄λ“œ μž…λ ₯ λ“±)
  • μ„œλ²„μ— μš”μ²­μ„ λ³΄λ‚΄κ±°λ‚˜ 파일 λ‹€μš΄/μ—…λ‘œλ“œ
  • μΏ ν‚€ κ΄€λ ¨ λ™μž‘
  • ν΄λΌμ΄μ–ΈνŠΈμ— 데이터 μ €μž₯(local storage)

 

❌ ν•  수 μ—†λŠ” 것

  • 파일 접근이 μ œν•œλ˜μ–΄ μžˆλ‹€.(파일 첨뢀/선택 λ“±κ³Ό 같은 νŠΉμ • μƒν™©μ—μ„œλ§Œ ν—ˆμš©)
  • 카메라/마이크 같은 λ””λ°”μ΄μŠ€μ™€ μƒν˜Έμž‘μš© μ‹œ, μ‚¬μš©μžμ˜ ν—ˆκ°€ ν•„μš”
  • 도메인, ν”„λ‘œν† μ½œ, ν¬νŠΈκ°€ λ‹€λ₯΄λ‹€λ©΄ νŽ˜μ΄μ§€ μ ‘κ·Ό λΆˆκ°€

3. 강점과 μ§„ν™”ν•œ μ–Έμ–΄λ“€

✊ 강점

  • HTML/CSS와 μ™„μ „νžˆ 톡합 κ°€λŠ₯
  • κ°„λ‹¨ν•œ 일은 κ°„λ‹¨ν•˜κ²Œ μ²˜λ¦¬ν•  수 μžˆλ‹€
  • λͺ¨λ“  μ£Όμš” λΈŒλΌμš°μ €μ—μ„œ μ§€μ›ν•˜λ©°, κΈ°λ³Έ μ–Έμ–΄λ‘œ μ‚¬μš©

🧬 μ§„ν™”ν•œ μ–Έμ–΄λ“€

λΈŒλΌμš°μ €μ—μ„œ μ‹€ν–‰λ˜κΈ° μ „, μžλ°”μŠ€ν¬λ¦½νŠΈλ‘œ λ³€ν™˜ν•  수 μžˆλŠ” 언어듀이 μžˆλ‹€.

  • CoffeeScript : μ§§μ€ 문법을 λ„μž…ν•˜μ—¬ λͺ…λ£Œν•˜κ³  이해가 μ‰¬μš΄ μ½”λ“œλ₯Ό μž‘μ„±ν•  수 μžˆλ‹€. 
  • TypeScript : strict data typing에 집쀑해 λ§Œλ“  μ–Έμ–΄λ‘œ, Microsoftκ°€ κ°œλ°œν–ˆλ‹€.
  • Flow : μžλ£Œν˜•을 κ°•μ œν•˜λŠ”λ° TS와 λ‹€λ₯Έ 방식을 μ‚¬μš©ν•œλ‹€. Facebook이 κ°œλ°œν–ˆλ‹€.
  • Dart : λΈŒλΌμš°μ €κ°€ μ•„λ‹Œ ν™˜κ²½μ—μ„œ λ™μž‘ν•˜λŠ” 고유 엔진을 κ°€μ§„λ‹€. Google이 κ°œλ°œν–ˆλ‹€.

 

 

 

 

μ°Έκ³ 

λ°˜μ‘ν˜•