FE/JavaScript

[JS] μ›μ‹œμžλ£Œν˜•κ³Ό μ°Έμ‘°μžλ£Œν˜•

mandelina 2022. 4. 28. 16:57

πŸš€ μ›μ‹œμžλ£Œν˜•?

 

- λ³€κ²½ λΆˆκ°€λŠ₯ν•œ κ°’ , 즉 ν•œλ²ˆ μƒμ„±λœ μ›μ‹œκ°’μ€ 읽기 μ „μš©κ°’μœΌλ‘œμ„œ λ³€κ²½ν•  수 μ—†λ‹€.

(주의 ! : μ›μ‹œκ°’ 자체λ₯Ό λ³€κ²½ν•  수 μ—†λ‹€λŠ” 것이지 λ³€μˆ˜ 값을 λ³€κ²½ ν•  수 μ—†λ‹€λŠ” 뜻이 μ•„λ‹˜)

 

- λΆˆλ³€μ„±μ„ κ°–λŠ” μ›μ‹œ 값을 ν• λ‹Ήν•œ λ³€μˆ˜λŠ” μž¬ν• λ‹Ή 이외에 λ³€μˆ˜ 값을 λ³€κ²½ν•  수 μžˆλŠ” 방법이 μ—†λ‹€.

 

- κ°’μ˜ μ˜ν•œ 전달

 

[ μ›μ‹œμžλ£Œν˜• μ’…λ₯˜ (7가지) ]

typeof 'hello world'   // String
typeof 100             // Number
typeof NaN             // Number
typeof true            // Boolean
typeof undefined       // undefined
typeof null            // Object

string, number (en-US), bigint (en-US), boolean, undefined, symbol, 그리고 null

 


 

πŸš€ 객체(μ°Έμ‘°)μžλ£Œν˜•?

 

- λ³€κ²½ κ°€λŠ₯ν•œ κ°’ , 객체λ₯Ό ν• λ‹Ήν•œ λ³€μˆ˜κ°€ κΈ°μ–΅ν•˜λŠ” λ©”λͺ¨λ¦¬ μ£Όμ†Œλ₯Ό 톡해 λ©”λͺ¨λ¦¬ 곡간을 μ ‘κ·Όν•˜μ—¬ λ³€κ²½ν•  수 μžˆλ‹€.

 

- μ›μ‹œκ°’κ³Ό λ‹€λ₯΄κ²Œ 객체λ₯Ό ν• λ‹Ήν•œ λ³€μˆ˜λŠ” μž¬ν• λ‹Ή 없이 객체λ₯Ό 직접 λ³€κ²½ν•  수 μžˆλ‹€.

 

- 참쑰에 μ˜ν•œ 전달 

 

- 두 개의 μ‹λ³„μžκ°€ ν•˜λ‚˜μ˜ 객체λ₯Ό κ³΅μœ ν•œλ‹€λŠ” 것을 μ˜λ―Έν•œλ‹€. λ”°λΌμ„œ 원본 λ˜λŠ” 사본 쀑 μ–΄λŠ ν•œμͺ½μ—μ„œ 객체λ₯Ό λ³€κ²½ν•˜λ©΄ μ„œλ‘œ 영ν–₯을 μ£Όκ³  λ°›λŠ”λ‹€.

(주의 : 포인터가 μ‘΄μž¬ν•˜λŠ” λ‹€λ₯Έ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μ˜ "참쑰에 μ˜ν•œ 전달"κ³Ό μ˜λ―Έκ°€ μ •ν™•νžˆ 일치 ν•˜μ§€ μ•ŠμŒ)

 

사싀 μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œμ˜ 이런 λ™μž‘λ°©μ‹μ€ μ •ν™•ν•œ μš©μ–΄κ°€ μ—†μ–΄μ„œ "참쑰에 μ˜ν•œ 전달" λ˜λŠ” "κ³΅μœ μ— μ˜ν•œ 전달"이라고 ν‘œν˜„ν•˜κΈ°λ„ ν•˜μ§€λ§Œ "κ³΅μœ μ— μ˜ν•œ 전달"λŠ” ECMAScript 사양에 μ •μ˜λœ 곡식적 μš©μ–΄λŠ” μ•„λ‹ˆλ‹€.

 


 

Q. ꡬ뢄이 ν•„μš”ν•œ 이유?

 

- μ›μ‹œ μžλ£Œν˜•μ˜ 경우 λ³€μˆ˜μ— λ„£μ„μˆ˜ μžˆλŠ” 데이터 크기가 μ œν•œλœλ‹€.

 

- μ°Έμ‘° μžλ£Œν˜•μ˜ 경우 λ³€μˆ˜μ— 값이 μ•„λ‹Œ μ£Όμ†Œλ₯Ό μ €μž₯ν•˜κΈ° λ•Œλ¬Έμ— 데이터 크기 μ œν•œμ„ 막을 수 μžˆλ‹€.

 

 

 

πŸ”₯ νšŒκ³