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

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

지역 λ³€μˆ˜μ˜ 생λͺ… μ£ΌκΈ°λŠ” ν•¨μˆ˜μ˜ 생λͺ… 주기와 μΌμΉ˜ν•œλ‹€. λ˜ν•œ ν˜Έμ΄μŠ€νŒ…μ€ μŠ€μ½”ν”„λ₯Ό λ‹¨μœ„λ‘œ λ™μž‘ν•˜λ©° ν˜Έμ΄μŠ€νŒ…μ€ λ³€μˆ˜ 선언이 μŠ€μ½”ν”„μ˜ μ„ λ‘λ‘œ λŒμ–΄ μ˜¬λ €μ§„ κ²ƒμ²˜λŸΌ λ™μž‘ν•˜λŠ” μžλ°”μŠ€ν¬λ¦½νŠΈ 고유의 νŠΉμ§•μ„ μ˜λ―Έν•œλ‹€.

14.1.2 μ „μ—­ λ³€μˆ˜μ˜ 생λͺ… μ£ΌκΈ°

var ν‚€μ›Œλ“œλ‘œ μ„ μ–Έν•œ μ „μ—­ λ³€μˆ˜μ˜ 생λͺ… μ£ΌκΈ°λŠ” μ „μ—­ 객체의 생λͺ… 주기와 μΌμΉ˜ν•œλ‹€.

🧐 μ „μ—­κ°μ²΄λž€?

μ „μ—­ κ°μ²΄λŠ” μ½”λ“œκ°€ μ‹€ν–‰λ˜κΈ° 이전 단계에 μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진에 μ˜ν•΄ μ–΄λ–€ 객체보닀도 λ¨Όμ € μƒμ„±λ˜λŠ” νŠΉμˆ˜ν•œ 객체이닀. μ „μ—­ κ°μ²΄λŠ” ν΄λΌμ΄μ–ΈνŠΈ μ‚¬μ΄λ“œ ν™˜κ²½(λΈŒλΌμš°μ €)μ—μ„œλŠ” window, μ„œλ²„ μ‚¬μ΄λ“œ ν™˜κ²½(Node.js)μ—μ„œλŠ” global 객체λ₯Ό μ˜λ―Έν•œλ‹€.


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

  • 암묡적 κ²°ν•©
  • κΈ΄ 생λͺ… μ£ΌκΈ°
  • μŠ€μ½”ν”„ 체인 μƒμ—μ„œ 쒅점에 쑴재
  • λ„€μž„μŠ€νŽ˜μ΄μŠ€ μ˜€μ—Ό

🧸 14.3 μ „μ—­ λ³€μˆ˜μ˜ μ‚¬μš©μ„ μ–΅μ œν•˜λŠ” 방법

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

14.3.1 μ¦‰μ‹œ μ‹€ν–‰ ν•¨μˆ˜

λͺ¨λ“  μ½”λ“œλ₯Ό μ¦‰μ‹œ μ‹€ν–‰ ν•¨μˆ˜λ‘œ 감싸면 λͺ¨λ“  λ³€μˆ˜λŠ” μ¦‰μ‹œ μ‹€ν–‰ ν•¨μˆ˜μ˜ 지역 λ³€μˆ˜κ°€ λœλ‹€.

14.3.2 λ„€μž„μŠ€νŽ˜μ΄μŠ€ 객체

전역에 λ„€μž„μŠ€νŽ˜μ΄μŠ€ 역할을 λ‹΄λ‹Ήν•  객체λ₯Ό μƒμ„±ν•˜κ³  μ „μ—­ λ³€μˆ˜μ²˜λŸΌ μ‚¬μš©ν•˜κ³  싢은 λ³€μˆ˜λ₯Ό ν”„λ‘œνΌν‹°λ‘œ μΆ”κ°€ν•˜λŠ” 방법이닀.

14.3.3 λͺ¨λ“ˆ νŒ¨ν„΄

λͺ¨λ“ˆ νŒ¨ν„΄μ€ 클래슀λ₯Ό λͺ¨λ°©ν•΄μ„œ 관련이 μžˆλŠ” λ³€μˆ˜μ™€ ν•¨μˆ˜λ₯Ό λͺ¨μ•„ μ¦‰μ‹œ μ‹€ν–‰ ν•¨μˆ˜λ‘œ 감싸 ν•˜λ‚˜μ˜ λͺ¨λ“ˆμ„ λ§Œλ“ λ‹€. μ΄λŸ¬ν•œ λͺ¨λ“ˆ νŒ¨ν„΄μ€ ν΄λ‘œμ €κΈ°λ°˜μœΌλ‘œ λ™μž‘λœλ‹€.

14.3.4 ES6 λͺ¨λ“ˆ

ES6 λͺ¨λ“ˆμ€ 파일 자체의 λ…μžμ μΈ λͺ¨λ“ˆ μŠ€μ½”ν”„λ₯Ό μ œκ³΅ν•œλ‹€.

profile
μ΄μ‚¬μ€‘μž…λ‹ˆλ‹€!🌟https://velog.io/@devkyoung2

0개의 λŒ“κΈ€

κ΄€λ ¨ μ±„μš© 정보