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

JS Basic Synax(μžλ£Œν˜•)

μ‹œνλ¦¬ν‹°μ§€ν˜Έ 2023. 12. 20.

μžλ£Œν˜• = Data types

 

JavScriptλŠ” 기본적으둜 λŠμŠ¨ν•œ νƒ€μž…(loosely typed)의 동적(dynamic) 언어이기 λ•Œλ¬Έμ—, λ³€μˆ˜λŠ” νŠΉμ •ν•œ νƒ€μž…μ— μ’…μ†λ˜μ§€ μ•Šκ³ , λͺ¨λ“  νƒ€μž…μ˜ κ°’μœΌλ‘œ ν• λ‹Ή( 및 μž¬ν• λ‹Ή )이 κ°€λŠ₯ν•˜λ‹€.

 

let foo = 42;
foo = 'bar';
foo = ture;

 

 

1. μžλ£Œν˜•μ˜ μ’…λ₯˜ 및 ꡬ뢄

 

μ›μ‹œ(Primitive) νƒ€μž…

 

Boolean: true / false

Null: null

undefined: undefined

Number: μΌμƒμ—μ„œ μ‚¬μš©ν•  수 μžˆλŠ” λŒ€λΆ€λΆ„μ˜ λ²”μœ„μ˜ 숫자 κ°’

BigInt: Number νƒ€μž…μ΄ λ‚˜νƒ€λ‚Ό 수 μžˆλŠ” κ°’μ˜ λ²”μœ„λ₯Ό λ„˜μ–΄μ„œλŠ” κ°’

String: 'λ¬Έμžμ—΄'

Symbol: λ³€κ²½ λΆˆκ°€λŠ₯ν•œ μ›μ‹œ νƒ€μž…μ˜ κ³ μœ ν•œ κ°’

 

μ°Έμ‘°(Reference) νƒ€μž…

 

Object: 일반적으둜 μ—¬λŸ¬ 개의 κΈ°λ³Έ νƒ€μž…μ˜ 값듀을 λ¬Άμ–΄μ„œ μ‚¬μš©ν•˜λŠ” νƒ€μž… 

 

μ°Έκ³ ν•  μ‚¬μ΄νŠΈ

https://developer.mozilla.org/ko/docs/Web/JavaScript/Data_structures

 

JavaScript의 νƒ€μž…κ³Ό 자료ꡬ쑰 - JavaScript | MDN

λͺ¨λ“  ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μ—λŠ” λ‚΄μž₯된 μžλ£Œκ΅¬μ‘°κ°€ μ‘΄μž¬ν•˜μ§€λ§Œ, 보톡 κ·Έ λ‚΄μš©μ€ μ–Έμ–΄λ§ˆλ‹€ λ‹€λ¦…λ‹ˆλ‹€. 이 κΈ€μ—μ„œλŠ” JavaScriptμ—μ„œ μ‚¬μš©ν•  수 μžˆλŠ” λ‚΄μž₯ μžλ£Œκ΅¬μ‘°μ™€ κ·Έ 속성에 λŒ€ν•΄ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€. 그러

developer.mozilla.org

 

2. 동적 νƒ€μž… vs 정적 νƒ€μž…

JavaScriptλŠ” 값이 ν• λ‹Ήλ˜λŠ” κ³Όμ •μ—μ„œ νƒ€μž…μ΄ κ²°μ •λ˜κΈ° λ•Œλ¬Έμ— 동적 νƒ€μž…(Dynamic , weak) 언어라고 ν•˜λ©°, 이λ₯Ό νƒ€μž…μ΄ μΆ”λ‘  λœλ‹€κ³  ν‘œν˜„ν•˜κΈ°λ„ ν•œλ‹€.( Type Inference )
 
let a;

a = 5;

 

λ˜ν•œ 이후 좔가적인 μ½”λ“œκ°€ μ‹€ν–‰λ˜λ©΄μ„œ μ–Έμ œλ“ μ§€ λ‹€λ₯Έ νƒ€μž…μœΌλ‘œ 변경될 μˆ˜λ„ μžˆλ‹€.

 

λ°˜λŒ€λ‘œ C, Java μ–Έμ–΄ λ“±μ˜ κ²½μš°μ—λŠ” μ„ μ–Έ μ‹œμ μ— νƒ€μž…μ΄ κ²°μ •λ˜κΈ° λ•Œλ¬Έμ— 정적 νƒ€μž…(Static, Strong) 언어라고 ν•œλ‹€.

int a = 5;

a = "λ¬Έμžμ—΄" // 컴파일 μ—λŸ¬

 

-> κ°’ κ·Έ 자체(Literal)λŠ” νƒ€μž…μ— 맞게 적을 수 μžˆλ‹€.

 

동적 νƒ€μž… μ–Έμ–΄μ˜ μž₯점은 μ½”λ“œ μž‘μ„±μ— μœ μ—°ν•˜μ§€λ§Œ 신뒰성이 λ–¨μ–΄μ§„λ‹€.

정적 νƒ€μž… μ–Έμ–΄μ˜ μž₯점은 μ½”λ“œ μž‘μ„±μ— μ œμ•½μ΄ λ§Žμ§€λ§Œ 신뒰성이 λ†’λ‹€.

'개발 지식, 슀크립트 > JavaScript, TS' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

JS Basic Syntax(쑰건)  (0) 2023.12.20
JS Basic Syntax(μ—°μ‚°μž)  (0) 2023.12.20
JS Basic Synax(λ³€μˆ˜)  (1) 2023.12.20
Hooks  (0) 2023.12.19
Props와 State의 차이  (0) 2023.12.19

λŒ“κΈ€