λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
πŸ“‚ 기술 λ©΄μ ‘/Language

μˆœμˆ˜ν•¨μˆ˜λž€ λ¬΄μ—‡μΈκ°€μš”? λΆˆλ³€μ„±κ³Ό μ‚¬μ΄λ“œ μ΄νŽ™νŠΈμ™€ μ—°κ²°ν•˜μ—¬ μ„€λͺ…ν•΄ μ£Όμ„Έμš”.

by Dev. Ella 2023. 4. 10.

πŸ‘©πŸ»‍πŸ’» μˆœμˆ˜ν•¨μˆ˜λž€ λ¬΄μ—‡μΈκ°€μš”? λΆˆλ³€μ„±κ³Ό μ‚¬μ΄λ“œ μ΄νŽ™νŠΈμ™€ μ—°κ²°ν•˜μ—¬ μ„€λͺ…ν•΄ μ£Όμ„Έμš”.

@syncfusion.com

 

πŸ’πŸ»‍♀️ μš”μ•½ν•˜μžλ©΄ ,

μˆœμˆ˜ν•¨μˆ˜λž€ μ‚¬μ΄λ“œ μ΄νŽ™νŠΈκ°€ μ—†λŠ” ν•¨μˆ˜, 즉 ν•¨μˆ˜μ˜ 싀행이 외뢀에 영ν–₯을 λΌμΉ˜μ§€ μ•ŠλŠ” ν•¨μˆ˜λ₯Ό λœ»ν•˜κ³ , μž…λ ₯으둜 μ „λ‹¬λœ 값을 μˆ˜μ •ν•˜μ§€ μ•ŠλŠ” λΆˆλ³€μ„±μ„ 가지고 μžˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ μˆœμˆ˜ν•¨μˆ˜λŠ” μ–΄λ– ν•œ μ „λ‹¬μΈμžκ°€ 주어지더라도 항상 λ˜‘κ°™μ€ 값이 리턴됨을 보μž₯ν•©λ‹ˆλ‹€. 

 

μ‚¬μ΄λ“œ μ΄νŽ™νŠΈλž€?

ν•¨μˆ˜μ˜ μž…λ ₯ 외에도 ν•¨μˆ˜μ˜ 결과에 영ν–₯을 λ―ΈμΉ˜λŠ” μš”μΈ μž…λ‹ˆλ‹€. λŒ€ν‘œμ μœΌλ‘œ λ„€νŠΈμ›Œν¬ μš”μ²­, API 호좜이 Side Effectμž…λ‹ˆλ‹€.

 

μˆœμˆ˜ν•¨μˆ˜ κ°œλ…μ΄ μ€‘μš”ν•œ μ΄μœ λŠ”?

μ‚¬μ΄λ“œ μ΄νŽ™νŠΈλ₯Ό 쀄이고, λͺ¨λ“ˆν™” μˆ˜μ€€μ„ λ†’μ΄λŠ” ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°μ˜  νŠΉμ§•, 즉 μˆœμˆ˜ν•¨μˆ˜λŠ” 평가 μ‹œμ μ΄ λ¬΄κ΄€ν•˜λ‹€λŠ” νŠΉμ§•μœΌλ‘œ 인해 효율적인 λ‘œμ§μ„ ꡬ성할 수 μžˆμŠ΅λ‹ˆλ‹€. 

 

λ°μ΄ν„°μ˜ λΆˆλ³€μ„±μ„ μœ μ§€ν•˜λŠ” 것이 μ€‘μš”ν•œ μ΄μœ λŠ”?

JavaScriptμ—μ„œ μˆœμˆ˜ν•¨μˆ˜λ₯Ό λ§Œλ“€κΈ° μœ„ν•΄ λ°μ΄ν„°μ˜ λΆˆλ³€μ„±μ„ μœ μ§€ν•˜λŠ” 것은 μ€‘μš”ν•©λ‹ˆλ‹€. ν•¨μˆ˜μ˜ μ „λ‹¬μΈμžλ‘œ μ°Έμ‘° μžλ£Œν˜•μ΄ μ „λ‹¬λ˜λ©΄ μ˜λ„μΉ˜ μ•Šκ²Œ ν•΄λ‹Ή 객체 자체λ₯Ό λ°”κΎΈλŠ” μ‚¬μ΄λ“œ μ΄νŽ™νŠΈλ₯Ό λ§Œλ“€ 수 μžˆλŠ”λ° μ΄λŠ” ν•΄λ‹Ή λ°μ΄ν„°μ˜ λΆˆλ³€μ„±μ„ μ†μƒμ‹œν‚΅λ‹ˆλ‹€. λ”°λΌμ„œ λ°°μ—΄μ˜ λΆˆλ³€μ„±μ„ 보μž₯ν•˜λŠ” λ©”μ†Œλ“œ map, filter, reduce 등을 μ‚¬μš©ν•˜κΈ°λ„ ν•©λ‹ˆλ‹€. 

 

 

 

πŸ“Ž λ‚΄μš© μ°Έμ‘°

- Wikipedia: ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°

- velog: [JS] μˆœμˆ˜ν•¨μˆ˜, side effect

λŒ“κΈ€