[FE - ConnecTo] DAY25 TILπŸ‘©πŸ»β€πŸ’»

JUNYΒ·2022λ…„ 8μ›” 12일
0

πŸ“šZeroBase ConnecTo Front-End

λͺ©λ‘ 보기
14/53
post-thumbnail

22.08.12 슀슀둜 κ³΅λΆ€ν•œ 것 및 μˆ˜μ—… 쀑 λŸ¬λ²„λ• ν•˜λ©° κ³΅λΆ€ν•œ λ‚΄μš©λ“€μ„ μ •λ¦¬ν•˜μ˜€μŠ΅λ‹ˆλ‹€ 😊
ν”Όλ“œλ°±μ€ μ–Έμ œλ‚˜ ν™˜μ˜μž…λ‹ˆλ‹€! 🍊

μŠ€μ½”ν”„

μ‹λ³„μžκ°€ μœ νš¨ν•œ λ²”μœ„, μ‹λ³„μžλ₯Ό 검색할 λ•Œ μ‚¬μš©ν•˜λŠ” κ·œμΉ™μž„

λͺ¨λ“  μ‹λ³„μžλŠ” μžμ‹ μ΄ μ„ μ–Έλœ μœ„μΉ˜μ— μ˜ν•΄ λ‹€λ₯Έ μ½”λ“œκ°€ μ‹λ³„μž μžμ‹ μ„ μ°Έμ‘°ν•  수 μžˆλŠ” 유효 λ²”μœ„κ°€ 결정됨.

ν•¨μˆ˜μ˜ 쀑첩에 μ˜ν•΄ 계측적 ꡬ쑰λ₯Ό κ°–λŠ”λ‹€.


μ‹λ³„μž κ²°μ •

μŠ€μ½”ν”„λ₯Ό 톡해 μ–΄λ–€ λ³€μˆ˜λ₯Ό μ°Έμ‘°ν•  것인지 κ²°μ •ν•˜λŠ” 것

❓ μ‹λ³„μž?
값을 ꡬ별할 수 μžˆμ–΄μ•Ό ν•˜λ―€λ‘œ μœ μΌν•΄μ•Ό 함.
μŠ€μ½”ν”„ λ‚΄μ—μ„œλŠ” μœ μΌν•΄μ•Όν•˜μ§€λ§Œ, λ‹€λ₯Έ μŠ€μ½”ν”„μ—λŠ” 같은 이름 μ‹λ³„μžλ₯Ό μ‚¬μš©ν•  수 μžˆλ‹€.


μŠ€μ½”ν”„μ˜ μ’…λ₯˜

  • μ „μ—­ μŠ€μ½”ν”„ μ½”λ“œμ˜ κ°€μž₯ λ°”κΉ₯ μ˜μ—­μ΄λ©°, μ „μ—­ λ³€μˆ˜λ₯Ό μ‚¬μš©ν•¨
  • 지역 μŠ€μ½”ν”„ ν•¨μˆ˜ λͺΈμ²΄ 내뢀이며, 지역 λ³€μˆ˜λ₯Ό μ˜λ―Έν•¨. 지역 λ³€μˆ˜λŠ” 지역 μŠ€μ½”ν”„μ™€ ν•˜μœ„ μŠ€μ½”ν”„μ—μ„œ μœ νš¨ν•¨.

μŠ€μ½”ν”„ 체인

μŠ€μ½”ν”„κ°€ κ³„μΈ΅μ μœΌλ‘œ μ—°κ²°λœ 것을 μ˜λ―Έν•¨.

λ³€μˆ˜ μ°Έμ‘°μ‹œ, μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진은 μŠ€μ½”ν”„ 체인을 톡해, λ³€μˆ˜λ₯Ό μ°Έμ‘°ν•˜λŠ” μ½”λ“œμ˜ μŠ€μ½”ν”„μ—μ„œ μ‹œμž‘ν•¨.

κ·Έλž˜μ„œ μƒμœ„ μŠ€μ½”ν”„ λ°©ν–₯으둜 μ΄λ™ν•˜μ—¬ λ³€μˆ˜λ₯Ό 검색함.

μƒμœ„ μŠ€μ½”ν”„μ—μ„œ μœ νš¨ν•œ λ³€μˆ˜λŠ” ν•˜μœ„ μŠ€μ½”ν”„μ—μ„œ 자유둭게 μ°Έμ‘° κ°€λŠ₯함.

ν•˜μœ„ μŠ€μ½”ν”„μ—μ„œ μœ νš¨ν•œ λ³€μˆ˜λ₯Ό μƒμœ„ μŠ€μ½”ν”„μ— μ°Έμ‘°ν•  수 μ—†μŒ.


ν•¨μˆ˜λ ˆλ²¨ μŠ€μ½”ν”„

μ½”λ“œ 블둝이 μ•„λ‹Œ ν•¨μˆ˜μ— μ˜ν•΄μ„œλ§Œ 지역 μŠ€μ½”ν”„λ₯Ό 생성함.

ex) var ν‚€μ›Œλ“œλ‘œ μ„ μ–Έλœ λ³€μˆ˜

블둝 레벨 μŠ€μ½”ν”„

ν•¨μˆ˜ λͺΈμ²΄ 뿐만 μ•„λ‹ˆλΌ μ½”λ“œ 블둝 λ˜ν•œ 지역 μŠ€μ½”ν”„λ‘œ 인정이 됨.

λ ‰μ‹œμ»¬ μŠ€μ½”ν”„

정적 μŠ€μ½”ν”„λΌκ³ λ„ ν•˜κ³ , ν•¨μˆ˜λ₯Ό μ–΄λ””μ—μ„œ μ •μ˜ν–ˆλŠ”μ§€μ— 따라 μƒμœ„ μŠ€μ½”ν”„λ₯Ό 결정함.


λ³€μˆ˜μ˜ 생λͺ… μ£ΌκΈ°

❓ 생λͺ… μ£ΌκΈ°?
λ³€μˆ˜κ°€ μƒμ„±λ˜κ³  μ†Œλ©Έλ˜λŠ” μ£ΌκΈ°

λ³€μˆ˜λŠ” μžμ‹ μ΄ μ„ μ–Έλœ μœ„μΉ˜μ—μ„œ μƒμ„±λ˜κ³  μ†Œλ©Έν•˜λŠ”λ°,

ν•˜λ‚˜μ˜ 값을 μ €μž₯ν•˜κΈ° μœ„ν•΄ ν™•λ³΄λœ λ©”λͺ¨λ¦¬ 곡간 자체λ₯Ό μ˜λ―Έν•¨.

λ³€μˆ˜μ˜ 생λͺ… μ£ΌκΈ°λŠ” λ©”λͺ¨λ¦¬ 곡간이 ν™•λ³΄λœ μ‹œμ λΆ€ν„° λ©”λͺ¨λ¦¬ 곡간이 ν•΄μ œλ˜μ–΄ κ°€μš© λ©”λͺ¨λ¦¬ 풀에 λ°˜ν™˜λ˜λŠ” μ‹œμ κΉŒμ§€λ₯Ό μ˜λ―Έν•¨.

  • 지역 λ³€μˆ˜μ˜ 생λͺ… μ£ΌκΈ° ν•¨μˆ˜μ˜ 생λͺ… 주기와 κ°™μŒ
  • μ „μ—­ λ³€μˆ˜μ˜ 생λͺ… μ£ΌκΈ° μ „μ—­ 객체의 생λͺ… 주기와 μΌμΉ˜ν•¨

μ „μ—­ λ³€μˆ˜μ˜ 문제점

1. 암묡적 κ²°ν•©

μ „μ—­ λ³€μˆ˜λ₯Ό μ‚¬μš©ν•˜λ‹€λŠ” 것은 μ½”λ“œλ₯Ό μ–΄λ””μ„œλ“  μ°Έμ‘°ν•˜κ³  ν• λ‹Ήν•  수 μžˆλŠ” λ³€μˆ˜λ₯Ό μ‚¬μš©ν•˜κ² λ‹€λŠ” κ²ƒμž„.

즉, λͺ¨λ“  μ½”λ“œκ°€ μ „μ—­ λ³€μˆ˜λ₯Ό μ°Έμ‘°ν•˜κ³  λ³€κ²½ν•  수 μžˆλŠ” 암묡적 결합을 ν—ˆμš©ν•˜λŠ” κ²ƒμž„.

κ·Έλž˜μ„œ, 가독성이 떨어지고, μƒνƒœ λ³€κ²½μ˜ μœ„ν—˜μ„±μ΄ μ»€μ Έμ„œ λ¬Έμ œκ°€ 생길 수 있음.

2. κΈ΄ 생λͺ… μ£ΌκΈ°

μ „μ—­ λ³€μˆ˜λŠ” 생λͺ… μ£ΌκΈ°κ°€ κΉ€ β†’ κ·Έλž˜μ„œ λ©”λͺ¨λ¦¬ λ¦¬μ†ŒμŠ€λ₯Ό 였랜 κΈ°κ°„ μ†ŒλΉ„ν•¨ β†’ μƒνƒœ λ³€κ²½ μ‹œκ°„μ΄ κΈΈκ³  λ³€κ²½ κ°€λŠ₯성이 κΈ°νšŒκ°€ λ§Žμ•„μ§ β†’ μ „μ—­ λ³€μˆ˜λŠ” 이름이 쀑볡될 κ°€λŠ₯성이 있고, 였λ₯˜ λ°œμƒ κ°€λŠ₯성이 높아짐

3. μŠ€μ½”ν”„ 체인 상에 쑴재

μ „μ—­ λ³€μˆ˜μ˜ 검색 속도가 κ°€μž₯ 느렀짐.

4. λ„€μž„ 슀페이슀 μ˜€μ—Ό

파일이 λΆ„λ¦¬λ˜μ–΄ μžˆμ–΄λ„, ν•˜λ‚˜μ˜ μ „μ—­ μŠ€μ½”ν”„λ₯Ό κ³΅μœ ν•¨ β†’ μ˜ˆμƒμΉ˜ λͺ»ν•œ κ²°κ³Όλ₯Ό μ΄ˆλž˜ν•  수 있음


μ „μ—­ λ³€μˆ˜μ˜ μ‚¬μš© μ–΅μ œ 방법

μ „μ—­ λ³€μˆ˜λ₯Ό λ°˜λ“œμ‹œ μ‚¬μš©ν•΄μ•Ό ν•˜λŠ” 것이 μ•„λ‹ˆλΌλ©΄, 지역 λ³€μˆ˜λ₯Ό μ‚¬μš©ν•΄μ•Ό 함. λ³€μˆ˜μ˜ μŠ€μ½”ν”„λŠ” μ’μ„μˆ˜λ‘ μ’‹μŒ.

❗ 방법 4가지
1. μ¦‰μ‹œ μ‹€ν–‰ ν•¨μˆ˜ μ‚¬μš© β†’ 지역 λ³€μˆ˜λ‘œ 섀정이 κ°€λŠ₯함
2. λ„€μž„ 슀페이슀 객체 μ‚¬μš©
3. λͺ¨λ“ˆ νŒ¨ν„΄
4. ES6 λͺ¨λ“ˆ


let vs const vs var ν‚€μ›Œλ“œ

1️⃣ var
1. λ³€μˆ˜ 쀑볡 μ„ μ–Έ ν—ˆμš© β†’ μž¬ν• λ‹Ήμ΄ λ˜λŠ” κ°œλ…μž„
λ³€μˆ˜ 값이 λ³€κ²½λ˜λŠ” λΆ€μž‘μš©μ΄ λ°œμƒν•¨
2. ν•¨μˆ˜ 레벨 μŠ€μ½”ν”„
ν•¨μˆ˜ μ½”λ“œ 블둝 λ§Œμ„ 지역 μŠ€μ½”ν”„λ‘œ 인정함
ν•¨μˆ˜ λ‚΄ / μ™ΈλΆ€μ—μ„œ μ„ μ–Έν•œ λ³€μˆ˜λŠ” λͺ¨λ‘ μ „μ—­ λ³€μˆ˜κ°€ 됨
3. λ³€μˆ˜ ν˜Έμ΄μŠ€νŒ…μ΄ 일어남 β†’ μ„ μ–Έ 단계, μ΄ˆκΈ°ν™” 단계 λ™μ‹œμ— 진행됨

2️⃣ let
1. 쀑볡 μ„ μ–Έ κΈˆμ§€
2. 블둝 레벨 μŠ€μ½”ν”„λ₯Ό 가짐
3. λ³€μˆ˜ ν˜Έμ΄μŠ€νŒ… β†’ μ„ μ–Έ 단계, μ΄ˆκΈ°ν™” 단계가 λΆ„λ¦¬λ˜μ–΄ 진행됨
4. μ „μ—­ 객체 let

3️⃣ const
1. λ³€μˆ˜ ν˜Έμ΄μŠ€νŒ… β†’ μ„ μ–Έκ³Ό λ™μ‹œμ— μ΅œμ ν™”
2. μž¬ν• λ‹Ή κΈˆμ§€
3. μƒμˆ˜λ‘œ μ‚¬μš©λ¨
4. const ν‚€μ›Œλ“œμ™€ 객체 β†’ μž¬ν• λ‹Ή κΈˆμ§€λΌκ³  λ˜μ–΄μžˆμ§€λ§Œ, κ°μ²΄λ‘œλŠ” λ³€κ²½ κ°€λŠ₯함


πŸ€”Β κ·Έλž˜μ„œ μš°λ¦¬λŠ” 무엇을 써야 ν•˜λ‚˜??

const ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•˜λ˜, λ‚˜μ€‘μ— μž¬ν• λ‹Ήμ΄ ν•„μš”ν•˜λ‹€λ©΄ let ν‚€μ›Œλ“œλ‘œ λ°”κΏ”μ€˜λ„ λ˜λ‹ˆ, constλ₯Ό μ‚¬μš©ν•˜μž!


πŸ“šΒ μ°Έκ³  자료

  • λͺ¨λ˜ μžλ°”μŠ€ν¬λ¦½νŠΈ Deep dive
profile
μ„±μž₯ν•˜λŠ” 개발자🌼

0개의 λŒ“κΈ€