Data Structures in JavaScript - Lee-hyuna/33-js-concepts-kr GitHub Wiki

ν”„λ‘ νŠΈμ—”λ“œ 개발자λ₯Ό μœ„ν•œ μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œμ˜ 데이터 ꡬ쑰

μ†Œκ°œ

λΉ„μ¦ˆλ‹ˆμŠ€ 둜직이 λ°±μ—”λ“œμ—μ„œ ν”„λ‘ νŠΈμ—”λ“œλ‘œ λ„˜μ–΄κ°μ— 따라 ν”„λ‘ νŠΈμ—”μ§€λ‹ˆμ–΄μ˜ 전문지식이 λ”μš± μ€‘μš”ν•΄μ‘ŒμŠ΅λ‹ˆλ‹€. ν”„λ‘ νŠΈμ—”λ“œ κ°œλ°œμžλŠ” μƒμ‚°μ μœΌλ‘œ λ¦¬μ•‘νŠΈμ™€ 같은 λ·° 라이브러리λ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. λ·°λΌμ΄λΈŒλŸ¬λ¦¬μ—μ„œ 데이터λ₯Ό κ΄€λ¦¬ν•˜κΈ° μœ„ν•œ Redux와 같은 μƒνƒœ 관리 라이브러리λ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. λ¦¬μ•‘νŠΈμ™€ λ¦¬λ•μŠ€λŠ” UI μ—…λ°μ΄νŠΈκ°€ 데이터 변경에 λ°˜μ‘ν•˜λŠ” reactive ν”„λ‘œκ·Έλž˜λ° νŒ¨λŸ¬λ‹€μž„μž…λ‹ˆλ‹€.λ°±μ—”λ“œλŠ” 점점 API μ„œλ²„λ‘œμ¨μ˜ 역할을 ν•˜κ³  μ—…λ°μ΄νŠΈ ν•  λ•Œλ§Œ μ—”λ“œν¬μΈνŠΈλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. μ‹€μ œλ‘œ λ°±μ—”λ“œλŠ” λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό ν”„λ‘ νŠΈμ—”λ“œλ‘œ "전달"ν•˜μ—¬ ν”„λ‘ νŠΈμ—”λ“œ μ—”μ§€λ‹ˆμ–΄κ°€ λͺ¨λ“  컨트둀러 λ‘œμ§μ„ μ²˜λ¦¬ν•  κ²ƒμœΌλ‘œ μ˜ˆμƒν•©λ‹ˆλ‹€. λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ 및 GraphQL의 인기가 높아짐에 따라 μ΄λŸ¬ν•œ μΆ”μ„Έκ°€ μ¦κ°€ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

이제 ν”„λ‘ νŠΈμ—”λ“œ μ—”μ§€λ‹ˆμ–΄λŠ” HTMLκ³Ό CSSλ₯Ό μ‹¬λ―Έμ μœΌλ‘œ 이해할 뿐만 μ•„λ‹ˆλΌ μžλ°”μŠ€ν¬λ¦½νŠΈλ„ λ§ˆμŠ€ν„° ν•΄μ•Όν•©λ‹ˆλ‹€. ν΄λΌμ΄μ–ΈνŠΈμ˜ 데이터 μ €μž₯μ†ŒλŠ” μ„œλ²„μ˜ λ°μ΄ν„°λ² μ΄μŠ€μ— λŒ€ν•œ "볡제본"이고 κ΄€μš©μ μΈ 데이터 ꡬ쑰에 λŒ€ν•œ κΉŠμ€ 지식이 μ€‘μš”ν•©λ‹ˆλ‹€. μ‹€μ œλ‘œ μ—”μ§€λ‹ˆμ–΄ κ²½ν—˜μ˜ μˆ˜μ€€μ€ νŠΉμ • 데이터 ꡬ쑰λ₯Ό μ‚¬μš©ν•œ μ‹œκΈ°μ™€ μ‚¬μš©ν•œ 이유λ₯Ό ꡬ별할 수 μžˆλŠ” λŠ₯λ ₯μ—μ„œ μœ μΆ”ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λ‚˜μœ ν”„λ‘œκ·Έλž˜λ¨ΈλŠ” μ½”λ“œμ— λŒ€ν•΄ κ±±μ •ν•©λ‹ˆλ‹€. ν›Œλ₯­ν•œ ν”„λ‘œκ·Έλž˜λ¨ΈλŠ” 데이터 ꡬ쑰와 관계에 λŒ€ν•΄ κ±±μ •ν•©λ‹ˆλ‹€. - λ¦¬λˆ…μŠ€ ν† λ°œμ¦ˆ, λ¦¬λˆ…μŠ€μ™€ κΉƒ μ°½μ‹œμž

높은 μˆ˜μ€€μ—μ„œ 기본적으둜 세가지 μœ ν˜•μ˜ 데이터 ꡬ쑰가 μžˆμŠ΅λ‹ˆλ‹€. μŠ€νƒκ³Ό νλŠ” ν•­λͺ©μ„ μ‚½μž…ν•˜κ³  μ œκ±°ν•˜λŠ” λ°©λ²•λ§Œ λ‹€λ₯΄κ³  λ°°μ—΄κ³Ό μœ μ‚¬ν•œ ꡬ쑰 μž…λ‹ˆλ‹€. λ§ν¬λ“œλ¦¬μŠ€νŠΈ(μ—°κ²°λ¦¬μŠ€νŠΈ), 트리, 그리고 κ·Έλž˜ν”„λŠ” λ‹€λ₯Έ λ…Έλ“œμ— λŒ€ν•œ μ°Έμ‘°λ₯Ό μœ μ§€ν•˜λŠ” λ…Έλ“œλ‘œ ꡬ쑰λ₯Ό κ°€μ§‘λ‹ˆλ‹€.