λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

λ…μ„œ λͺ©λ‘/λͺ¨λ”₯λ‹€ Modern JS Deep Dive

[λͺ¨λ”₯λ‹€] 05μž₯ ν‘œν˜„μ‹κ³Ό λ¬Έ

728x90

(μˆ˜μ • 23.4.26)

πŸ’ 5.1 κ°’

 

🎡 κ°’ : μ‹(ν‘œν˜„μ‹)이 ν‰κ°€λ˜μ–΄ μƒμ„±λœ κ²°κ³Ό

- λͺ¨λ“  값은 데이터 νƒ€μž…μ„ 가지며, λ©”λͺ¨λ¦¬μ— 2μ§„μˆ˜ === λΉ„νŠΈ 의 λ‚˜μ—΄λ‘œ μ €μž₯됨. 

- λ©”λͺ¨λ¦¬μ— μ €μž₯된 값은 데이터 νƒ€μž…μ— 따라 λ‹€λ₯΄κ²Œ 해석될 μˆ˜λ„ μžˆλ‹€. 

(0100 0001 => 숫자 : 65, 문자 'A')

- λ³€μˆ˜λ„ κ°’μž„. -> ν•˜λ‚˜μ˜ 값을 μ €μž₯ν•˜κΈ° μœ„ν•œ 이름이기 λ•Œλ¬Έ. (λ³€μˆ˜μ— 값이 ν• λ‹Ήλ˜κΈ° λ•Œλ¬Έ)

 

 

 

πŸ’ 5.2 λ¦¬ν„°λŸ΄

 

🎡 λ¦¬ν„°λŸ΄ : μ‚¬λžŒμ΄ 이해할 수 μžˆλŠ” 문자 λ˜λŠ” μ•½μ†λœ 기호λ₯Ό μ‚¬μš©ν•΄ 값을 μƒμ„±ν•˜λŠ” ν‘œκΈ°λ²•

(문자, 기호 {}, "" λ“±λ“±) 

- JS 엔진은 λŸ°νƒ€μž„(μ½”λ“œ μ‹€ν–‰ μ‹œμ )에 λ¦¬ν„°λŸ΄ 값을 평가해 값을 생성함. 

 

 

 

πŸ’ 5.3 ν‘œν˜„μ‹

 

πŸŽ΅ν‘œν˜„μ‹ : κ°’μœΌλ‘œ 평가될 수 μžˆλŠ” λ¬Έ.

즉, ν‘œν˜„μ‹μ΄ ν‰κ°€λ˜λ©΄ μƒˆλ‘œμš΄ 값을 μƒμ„±ν•˜κ±°λ‚˜ κΈ°μ‘΄ 값을 μ°Έμ‘°ν•œλ‹€.

=> κ°’μœΌλ‘œ 평가될 수 μžˆλŠ” 문은 λͺ¨λ‘ ν‘œν˜„μ‹

ν‘œν˜„μ‹μ€ κ°’μœΌλ‘œ ν‰κ°€λœλ‹€. 

ν‘œν˜„μ‹κ³Ό ν‘œν˜„μ‹μ΄ ν‰κ°€λœ 값은 λ™λ“±ν•œ 관계, 즉 λ™μΉ˜μž„. 

-> ν‘œν˜„μ‹μ€ κ°’μ²˜λŸΌ μ‚¬μš©ν•  수 μžˆλ‹€.  = λ¬Έλ²•μ μœΌλ‘œ 값이 μœ„μΉ˜ν•  수 μžˆλŠ” μžλ¦¬μ—λŠ” ν‘œν˜„μ‹λ„ μœ„μΉ˜ν•  수 μžˆλ‹€λŠ” 것을 의미.

 

 

 

πŸ’ 5.4 λ¬Έ

 

🎡 λ¬Έ : ν”„λ‘œκ·Έλž¨μ„ κ΅¬μ„±ν•˜λŠ” κΈ°λ³Έ λ‹¨μœ„μ΄μž μ΅œμ†Œ μ‹€ν–‰ λ‹¨μœ„. == λͺ…λ Ήλ¬Έ

- 문의 집합 : ν”„λ‘œκ·Έλž¨, 

- 문을 μž‘μ„±ν•˜κ³  μˆœμ„œμ— 맞게 λ‚˜μ—΄ν•˜λŠ” 것 : ν”„λ‘œκ·Έλž˜λ°

- μ»΄νŠœν„°μ— λ‚΄λ¦¬λŠ” λͺ…λ Ή

- 문의 μ’…λ₯˜ : μ„ μ–Έλ¬Έ, ν• λ‹Ήλ¬Έ, 쑰건문 

 

πŸŽ΅ν† ν° : 문법적인 의미λ₯Ό 가지며, λ¬Έλ²•μ μœΌλ‘œ 더 이상 λ‚˜λˆŒ 수 μ—†λŠ” μ½”λ“œμ˜ κΈ°λ³Έ μš”μ†Œ

μ—¬λŸ¬ 토큰 (ν‚€μ›Œλ“œ, μ‹λ³„μž, μ—°μ‚°μž, μ„Έλ―Έμ½œλ‘  λ“± λ¬Έλ²•μ μœΌλ‘œ 더 이상 λ‚˜λˆŒ 수 μ—†λŠ” μ½”λ“œμ˜ κΈ°λ³Έ μš”μ†Œ) 으둜 이루어져 μžˆλ‹€. 

var / sum / = / 1 / + / 2 / ; 

πŸ‘† ν† ν°μœΌλ‘œ μͺΌκ°  λ¬Έ

 

 

 

πŸ’ 5.5 μ„Έλ―Έμ½œλ‘ κ³Ό μ„Έλ―Έμ½œλ‘  μžλ™ μ‚½μž… κΈ°λŠ₯

 

; (μ„Έλ―Έμ½œλ‘ ) 은 문의 μ’…λ£Œλ₯Ό λ‚˜νƒ€λ‚Έλ‹€. -> JS λŠ” 문을 μ’…λ£Œν•œ μœ„μΉ˜λ₯Ό νŒŒμ•…ν•˜κ³  순차적으둜 문을 μ‹€ν–‰. 

{} μ½”λ“œλΈ”λ‘ λ’€μ—λŠ” ; λ₯Ό 뢙이지 μ•ŠμŒ. -> 자체 쒅결성을 κ°–κΈ° λ•Œλ¬Έ. 

 

🎡 μ„Έλ―Έμ½œλ‘  μžλ™ μ‚½μž… κΈ°λŠ₯ (ASO automatic semicolon insertion)

; λŠ” μ˜΅μ…˜μž„. 즉, μƒλž΅μ΄ κ°€λŠ₯. => JS 엔진이 μ˜ˆμΈ‘λ˜λŠ” 곳에 μžλ™μœΌλ‘œ μ„Έλ―Έμ½œλ‘  μžλ™ μ‚½μž…μ„ ν•΄μ£ΌκΈ° λ•Œλ¬Έ. 

ν•˜μ§€λ§Œ, JS의 μžλ™ μ‚½μž… κΈ°λŠ₯의 λ™μž‘κ³Ό 개발자의 예츑이 μΌμΉ˜ν•˜μ§€ μ•ŠλŠ” κ²½μš°κ°€ κ°„ν˜Ή 있기 λ•Œλ¬Έμ— λΆ™μ΄λŠ” κ±Έ μΆ”μ²œ.

세미클둠에 λŒ€ν•œ μ˜κ²¬μ€ λΆ„λΆ„ν•˜μ§€λ§Œ 세미클둠 λΆ™μ΄λŠ” λΆ„μœ„κΈ°μž„. 

 

 

 

πŸ’ 5.6 ν‘œν˜„μ‹μΈ λ¬Έκ³Ό ν‘œν˜„μ‹μ΄ μ•„λ‹Œ λ¬Έ

 

ν‘œν˜„μ‹μ€ 문의 일뢀 or κ·Έ 차페둜 문이닀.

ν‘œν˜„μ‹μ€ κ°’μœΌλ‘œ 평가될 수 μžˆλŠ” λ¬Έ!

λ³€μˆ˜ 선언문은 κ°’μœΌλ‘œ 평가될 수 μ—†μœΌλ‹ˆ, ν‘œν˜„μ‹μ΄ μ•„λ‹˜. 

🎡 ν‘œν˜„μ‹μΈ λ¬Έ vs ν‘œν˜„μ‹μ΄ μ•„λ‹Œ λ¬Έ ꡬ뢄 법

: λ³€μˆ˜μ— ν• λ‹Ήν•΄ λ³΄λŠ” 것. -> μ—λŸ¬λ‚˜λ©΄ ν‘œν˜„μ‹ μ•„λ‹Œκ±°μž„. 

 

🎡 μ™„λ£Œκ°’

- ν‘œν˜„μ‹μ΄ μ•„λ‹Œ 문을 μ‹€ν–‰ν•˜λ©΄ undified κ°€ 좜λ ₯λ˜λŠ”λ°, 이 값이 μ™„λ£Œκ°’μž„. 

- μ™„λ£Œκ°’μ€ ν‘œν˜„μ‹μ˜ 평가 κ²°κ³Όκ°€ μ•„λ‹˜. λ”°λΌμ„œ λ‹€λ₯Έ 값이 같이 λ³€μˆ˜μ— 할당될 μˆ˜λ„ μ—†κ³  μ°Έμ‘°ν•  μˆ˜λ„ μ—†μŒ. 

728x90
λ°˜μ‘ν˜•