Programming/TypeScript

[TypeScript] cannot read properties of undefined μ—λŸ¬ 원인 및 해결방법

yuri lee 2023. 3. 18. 19:47
λ°˜μ‘ν˜•

Intro

μ•ˆλ…•ν•˜μ„Έμš”. νƒ€μž…μŠ€ν¬λ¦½νŠΈλ₯Ό μ‚¬μš©ν•˜λ˜ 도쀑 μ•„λž˜μ™€ 같은 였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. 

 

Why?

ν•΄λ‹Ή properties의 값을 읽을 수 μ—†κΈ° λ•Œλ¬Έμ— λ°œμƒν•˜λŠ” 였λ₯˜μž…λ‹ˆλ‹€.

 

How to solve the problem

ν•΄λ‹Ή μ—λŸ¬λ₯Ό ν•΄κ²°ν•˜λŠ” 방법은 μ—¬λŸ¬κ°€μ§€μΈλ°μš”, μ €λŠ” κ·Έ μ€‘μ—μ„œλ„ Optional Chaining μ—°μ‚°μž (λ¬ΌμŒν‘œ μ—°μ‚°μž)λ₯Ό μ‚¬μš©ν•˜μ—¬ ν•΄λ‹Ή 였λ₯˜λ₯Ό ν•΄κ²°ν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 

 

μ½”λ“œ μ‚¬μš© μ˜ˆμ œλŠ” μ•„λž˜μ™€ κ°™μŠ΅λ‹ˆλ‹€. 

return (
  <div className"App">
    <div>{item?.name}</div>
  </div>
)

μ΄λ ‡κ²Œ Optional Chaining μ—°μ‚°μž (λ¬ΌμŒν‘œ μ—°μ‚°μž)λ₯Ό μ‚¬μš©ν•  경우 μœ νš¨ν•œ κ°’이 μ—†μ„ λ•ŒλŠ” undefinedλ₯Ό λ°˜ν™˜ν•˜κ³ , κ°’이 μžˆμ„ λ•ŒλŠ” Optional Chaining μ—°μ‚°μž 이후 λ‚΄μš©μ„ μ‹€ν–‰ν•©λ‹ˆλ‹€. λ”°λΌμ„œ ν•΄λ‹Ή 였λ₯˜λ₯Ό 방지할 수 μžˆμŠ΅λ‹ˆλ‹€. 

λ°˜μ‘ν˜•