Programming/JavaScript

[λͺ¨λ˜ μžλ°”μŠ€ν¬λ¦½νŠΈ Deep Dive] 06μž₯ 데이터 νƒ€μž…

yuri lee 2023. 5. 17. 22:46
λ°˜μ‘ν˜•
이 글은 λͺ¨λ˜ μžλ°”μŠ€ν¬λ¦½νŠΈ Deep Dive λ°”νƒ•μœΌλ‘œ μ •λ¦¬ν•œ λ‚΄μš©μž…λ‹ˆλ‹€.

 

6.1 숫자 νƒ€μž… 


μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” C/Java와 달리 ν•˜λ‚˜μ˜ 숫자 νƒ€μž…λ§Œ μ‘΄μž¬ν•©λ‹ˆλ‹€.

 

6.2 λ¬Έμžμ—΄ νƒ€μž…


λ¬Έμžμ—΄ νƒ€μž…μ€ ν…μŠ€νŠΈ 데이터λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 데 μ‚¬μš©ν•©λ‹ˆλ‹€.

 

6.3 ν…œν”Œλ¦Ώ λ¦¬ν„°λŸ΄


ES6λΆ€ν„° ν…œν”Œλ¦Ώ λ¦¬ν„°λŸ΄μ΄λΌκ³  ν•˜λŠ” μƒˆλ‘œμš΄ λ¬Έμžμ—΄ ν‘œκΈ°λ²•μ΄ λ„μž…λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 백틱을 μ‚¬μš©ν•©λ‹ˆλ‹€.

 

6.4 λΆˆλ¦¬μ–Έ νƒ€μž…


λΆˆλ¦¬μ–Έ νƒ€μž…μ˜ 값은 논리적 μ°Έ, 거짓을 λ‚˜νƒ€λ‚΄λŠ” true와 false λΏμž…λ‹ˆλ‹€.

 

6.5 undefined νƒ€μž…


undefined νƒ€μž…μ˜ 값은 undefinedκ°€ μœ μΌν•©λ‹ˆλ‹€.

 

undefinedλŠ” κ°œλ°œμžκ°€ μ˜λ„μ μœΌλ‘œ ν• λ‹Ήν•˜κΈ° μœ„ν•œ 값이 μ•„λ‹ˆλΌ μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진이 λ³€μˆ˜λ₯Ό μ΄ˆκΈ°ν™”ν•  λ•Œ μ‚¬μš©ν•˜λŠ” κ°’μž…λ‹ˆλ‹€. λ³€μˆ˜μ— 값이 μ—†λ‹€λŠ” 것을 λͺ…μ‹œν•˜κ³  싢을 λ•ŒλŠ” null을 ν• λ‹Ήν•˜λ©΄ λ©λ‹ˆλ‹€.

 

6.6 null νƒ€μž…


λ³€μˆ˜μ— null을 ν• λ‹Ήν•˜λŠ” 것은 이전에 μ°Έμ‘°ν•˜λ˜ 값을 더 이상 μ°Έμ‘°ν•˜μ§€ μ•Šκ² λ‹€λŠ” μ˜λ―Έμž…λ‹ˆλ‹€. λ˜ν•œ ν•¨μˆ˜κ°€ μœ νš¨ν•œ 값을 λ°˜ν™˜ν•  수 μ—†λŠ” 경우 λͺ…μ‹œμ μœΌλ‘œ null을 λ°˜ν™˜ν•˜κΈ°λ„ ν•©λ‹ˆλ‹€.

 

6.7 μ‹¬λ²Œ νƒ€μž…


μ‹¬λ²Œμ€ ES6μ—μ„œ μΆ”κ°€λœ 7번째 νƒ€μž…μœΌλ‘œ λ³€κ²½ λΆˆκ°€λŠ₯ν•œ μ›μ‹œ νƒ€μž…μ˜ κ°’μž…λ‹ˆλ‹€.

 

6.8. 객체 νƒ€μž…


11μž₯μ—μ„œ 더 μžμ„Ένžˆ λ‹€λ£Ήλ‹ˆλ‹€. jsλ₯Ό 이루고 μžˆλŠ” 것은 거의 κ°μ²΄λΌλŠ” 사싀을 κΈ°μ–΅ν•΄μ•Ό ν•©λ‹ˆλ‹€. 

 

6.9 데이터 νƒ€μž…μ˜ ν•„μš”μ„±


- λ©”λͺ¨λ¦¬ κ³΅κ°„μ˜ 크기λ₯Ό κ²°μ •ν•˜κΈ° μœ„ν•΄

- κ°’ 잠쑰 μ‹œ ν•œ λ²ˆμ— 읽어 λ“€μ–΄μ•Ό ν•  λ©”λͺ¨λ¦¬ κ³΅κ°„μ˜ 크기 κ²°μ • μœ„ν•΄

- λ©”λͺ¨λ¦¬μ—μ„œ 읽어 듀인 2μ§„μˆ˜λ₯Ό μ–΄λ–»κ²Œ 해석할지 κ²°μ •ν•˜κΈ° μœ„ν•΄ 

 

6.10 동적 타이핑


6.10.1 동적 νƒ€μž… 언어와 정적 νƒ€μž… μ–Έμ–΄

Cλ‚˜ μžλ°” 같은 정적 νƒ€μž… μ–Έμ–΄λŠ” λ³€μˆ˜λ₯Ό μ„ μ–Έν•  λ•Œ λ³€μˆ˜μ— ν• λ‹Ήν•  수 μžˆλŠ” κ°’μœΌ μ’…λ₯˜, 즉 데이터 νƒ€μž…μ„ 사전에 μ„ μ–Έν•΄μ•Ό ν•©λ‹ˆλ‹€. 이λ₯Ό λͺ…μ‹œμ  νƒ€μž… 선언이라고 ν•©λ‹ˆλ‹€.

 

정적 νƒ€μž… μ–Έμ–΄λŠ” 컴파일 μ‹œμ μ— νƒ€μž… 체크λ₯Ό μˆ˜ν–‰ν•˜κ³ , ν†΅κ³Όν•˜μ§€ λͺ»ν–ˆλ‹€λ©΄ μ—λŸ¬λ₯Ό λ°œμƒμ‹œν‚€κ³  ν”„λ‘œκ·Έλž¨ μ‹€ν–‰ 자체λ₯Ό λ§‰μŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ μžλ°”μŠ€λ¦½νŠΈλŠ” λ³€μˆ˜ μ„ μ–Έ μ‹œ νƒ€μž…μ„ μ„ μ–Έν•˜μ§€ μ•Šκ³  var, let, const, ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•΄ λ³€μˆ˜λ₯Ό μ„ μ–Έν•  λΏμž…λ‹ˆλ‹€.  동적 νƒ€μž… μ–Έμ–΄λ‘œλŠ” μžλ°”μŠ€ν¬λ¦½νŠΈ, 파이썬, PHP, 루비 등이 μžˆμŠ΅λ‹ˆλ‹€.

 

6.10.2 동적 νƒ€μž… 언어와 λ³€μˆ˜ 

동적 νƒ€μž… μ–Έμ–΄λŠ” μœ μ—°μ„±μ€ λ†’μ§€λ§Œ 신뒰성은 λ–¨μ–΄μ§‘λ‹ˆλ‹€.

 

- λ³€μˆ˜λŠ” κΌ­ ν•„μš”ν•œ κ²½μš°μ— ν•œν•΄ μ œν•œμ  μ‚¬μš©

- λ³€μˆ˜μ˜ μŠ€μ½”ν”„λŠ” μ΅œλŒ€ν•œ 쒁게 λ§Œλ“€κΈ°

- μ „μ—­ λ³€μˆ˜ μ΅œλŒ€ν•œ μ‚¬μš©ν•˜μ§€ μ•ŠκΈ°

- λ³€μˆ˜λ³΄λ‹€ μƒμˆ˜ μ‚¬μš©

- λ³€μˆ˜ 이름은 λͺ©μ μ΄λ‚˜ 의미λ₯Ό νŒŒμ•…ν•  수 μžˆλ„λ‘ 넀이밍

 

λ°˜μ‘ν˜•