πŸ“Œ 15μž₯ let, const ν‚€μ›Œλ“œμ™€ 블둝 레벨 μŠ€μ½”ν”„

경이·2022λ…„ 3μ›” 8일
0


πŸ„ 15.1 var ν‚€μ›Œλ“œλ‘œ μ„ μ–Έν•œ λ³€μˆ˜μ˜ 문제점

15.1.1 λ³€μˆ˜ 쀑볡 μ„ μ–Έ ν—ˆμš©

var ν‚€μ›Œλ“œλ‘œ μ„ μ–Έν•œ λ³€μˆ˜λŠ” 쀑볡 선언이 κ°€λŠ₯ν•˜λ‹€.

15.1.2 ν•¨μˆ˜ 레벨 μŠ€μ½”ν”„

var ν‚€μ›Œλ“œλ‘œ μ„ μ–Έν•œ λ³€μˆ˜λŠ” μ˜€λ‘œμ§€ ν•¨μˆ˜μ˜ μ½”λ“œ λΈ”λ‘λ§Œμ„ ν•¨μˆ˜μ˜ 지역 μŠ€μ½”ν”„λ‘œ μΈμ •ν•œλ‹€. λ”°λΌμ„œ ν•¨μˆ˜ μ™ΈλΆ€μ—μ„œ var ν‚€μ›Œλ“œλ‘œ μ„ μ–Έν•œ λ³€μˆ˜λŠ” μ½”λ“œ 블둝 λ‚΄μ—μ„œ 선언해도 λͺ¨λ‘ μ „μ—­ λ³€μˆ˜κ°€ λœλ‹€.

15.1.3 λ³€μˆ˜ ν˜Έμ΄μŠ€νŒ…

var ν‚€μ›Œλ“œλ‘œ λ³€μˆ˜λ₯Ό μ„ μ–Έν•˜λ©΄ λ³€μˆ˜ ν˜Έμ΄μŠ€νŒ…μ— μ˜ν•΄ λ³€μˆ˜ 선언문이 μŠ€μ½”ν”„μ˜ μ„ λ‘λ‘œ λŒμ–΄ μ˜¬λ €μ§„κ²ƒμ²˜λŸΌ λ“±μž₯ν•œλ‹€.

πŸ„ 15.2 let ν‚€μ›Œλ“œ

15.2.1 λ³€μˆ˜ 쀑볡 μ„ μ–Έ κΈˆμ§€

let ν‚€μ›Œλ“œλ‘œ 이름이 같은 λ³€μˆ˜λ₯Ό 쀑볡 μ„ μ–Έν•˜λ©΄ 문법 μ—λŸ¬κ°€ λ°œμƒν•œλ‹€.

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

var ν‚€μ›Œλ“œλ‘œ μ„ μ–Έν•œ λ³€μˆ˜λŠ” μ˜€λ‘œμ§€ ν•¨μˆ˜μ˜ μ½”λ“œ λΈ”λ‘λ§Œμ„ 지역 μŠ€μ½”ν”„λ‘œ μΈμ •ν•˜λŠ” ν•¨μˆ˜ 레벨 μŠ€μ½”ν”„λ₯Ό λ”°λ₯Έλ‹€. ν•˜μ§€λ§Œ let ν‚€μ›Œλ“œλ‘œ μ„ μ–Έν•œ λ³€μˆ˜λŠ” λͺ¨λ“  μ½”λ“œ 블둝을 지역 μŠ€μ½”ν”„λ‘œ μΈμ •ν•˜λŠ” 블둝 레벨 μŠ€μ½”ν”„λ₯Ό λ”°λ₯Έλ‹€.

15.2.3 λ³€μˆ˜ ν˜Έμ΄μŠ€νŒ…

let ν‚€μ›Œλ“œλ‘œ μ„ μ–Έν•œ λ³€μˆ˜λŠ” β€œμ„ μ–Έ 단계”와 β€œμ΄ˆκΈ°ν™” 단계”가 λΆ„λ¦¬λ˜μ–΄ μ§„ν–‰λœλ‹€. let ν‚€μ›Œλ“œλ‘œ μ„ μ–Έν•œ λ³€μˆ˜λŠ” μ΄ˆκΈ°ν™” μ „κΉŒμ§€ μ°Έμ‘°ν•  수 μ—†λŠ”λ° 이 ꡬ간을 μΌμ‹œμ  μ‚¬κ°μ§€λŒ€(Temporal Dead Zone)라고 ν•œλ‹€.

15.2.4 μ „μ—­ 객체와 let

let ν‚€μ›Œλ“œλ‘œ μ„ μ–Έν•œ μ „μ—­ λ³€μˆ˜λŠ” μ „μ—­ 객체의 ν”„λ‘œνΌν‹°κ°€ μ•„λ‹ˆλ‹€.

πŸ„ 15.3 const ν‚€μ›Œλ“œ

15.3.1 μ„ μ–Έκ³Ό μ΄ˆκΈ°ν™”

const ν‚€μ›Œλ“œλ‘œ μ„ μ–Έν•œ λ³€μˆ˜λŠ” λ°˜λ“œμ‹œ μ„ μ–Έκ³Ό λ™μ‹œμ— μ΄ˆκΈ°ν™”ν•΄μ•Ό ν•œλ‹€. λ˜ν•œ const ν‚€μ›Œλ“œλ‘œ μ„ μ–Έν•œ λ²Όμˆ˜λŠ” let ν‚€μ›Œλ“œλ‘œ μ„ μ–Έν•œ λ³€μˆ˜μ™€ λ§ˆμ°¬κ°€μ§€λ‘œ 블둝 레벨 μŠ€μ½”ν”„λ₯Ό 가지며 λ³€μˆ˜ ν˜Έμ΄μŠ€νŒ…μ΄ λ°œμƒν•˜μ§€ μ•ŠλŠ” κ²ƒμ²˜λŸΌ λ™μž‘ν•œλ‹€.

15.3.2 μž¬ν• λ‹Ή κΈˆμ§€

var, let ν‚€μ›Œλ“œλ‘œ μ„ μ–Έν•œ λ³€μˆ˜λŠ” μž¬ν• λ‹Ήμ΄ μžμœ λ‘œμš°λ‚˜ const ν‚€μ›Œλ“œλ‘œ μ„ μ–Έν•œ λ³€μˆ˜λŠ” μž¬ν• λ‹Ήμ΄ κΈˆμ§€λœλ‹€.

15.3.3 μƒμˆ˜

cosnt ν‚€μ›Œλ“œλ‘œ μ„ μ–Έλœ λ³€μˆ˜μ— μ›μ‹œ 값을 ν• λ‹Ήν•œ 경우 μ›μ‹œ 값은 λ³€κ²½ν•  수 μ—†λŠ” 값이고 const ν‚€μ›Œλ“œμ— μ˜ν•΄ μž¬ν• λ‹Ήμ΄ κΈˆμ§€λ˜λ―€λ‘œ ν• λ‹Ήλœ 값을 λ³€κ²½ν•  수 μžˆλŠ” 방법은 μ—†λ‹€. λ³€μˆ˜ 이름은 μŠ€λ„€μ΄ν¬ μΌ€μ΄μŠ€λ‘œ ν‘œν˜„ν•˜λŠ” 것이 μΌλ°˜μ μ΄λ‹€.

15.3.4 const ν‚€μ›Œλ“œμ™€ 객체

const ν‚€μ›Œλ“œλ‘œ μ„ μ–Έλœ λ³€μˆ˜μ— 객체λ₯Ό ν• λ‹Ήν•œ 경우 값을 λ³€κ²½ν•  수 μžˆλ‹€. const ν‚€μ›Œλ“œλŠ” μž¬ν• λ‹Ήμ„ κΈˆμ§€ν•  뿐 λΆˆλ³€μ„ μ˜λ―Έν•˜μ§€ μ•ŠλŠ”λ‹€.

πŸ„ 15.4 var vs let vs const

  • ES6λ₯Ό μ‚¬μš©ν•œλ‹€λ©΄ var ν‚€μ›Œλ“œλŠ” μ‚¬μš©ν•˜μ§€ μ•ŠλŠ”λ‹€.
  • μž¬ν• λ‹Ήμ΄ ν•„μš”ν•œ κ²½μš°μ— ν•œμ •ν•΄ let ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•œλ‹€. 이 λ•Œ λ³€μˆ˜μ˜ μŠ€μ½”ν”„λŠ” μ΅œλŒ€ν•œ 쒁게 λ§ˆλ“ λ‹€.
  • 변경이 λ°œμƒν•˜μ§€ μ•Šκ³  읽기 μ „μš©μœΌλ‘œ μ‚¬μš©ν•˜λŠ”(μž¬ν• λ‹Ήμ΄ ν•„μš” μ—†λŠ” μƒμˆ˜) μ›μ‹œ κ°’κ³Ό κ°μ²΄μ—λŠ” const ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•œλ‹€. const ν‚€μ›Œλ“œλŠ” μž¬ν• λ‹Ήμ„ κΈˆμ§€ν•˜λ―€λ‘œ var, let ν‚€μ›Œλ“œλ³΄λ‹€ μ•ˆμ „ν•˜λ‹€.
profile
μ΄μ‚¬μ€‘μž…λ‹ˆλ‹€!🌟https://velog.io/@devkyoung2

0개의 λŒ“κΈ€

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