πŸ§‘‍πŸ’» Web/JavaScript

[JavaScript] κ³ μ°¨ν•¨μˆ˜

Lennon 2022. 7. 18. 20:36
728x90
λ°˜μ‘ν˜•

κ³ μ°¨ν•¨μˆ˜λŠ” ν•¨μˆ˜λ₯Ό κ°’μœΌλ‘œ λ‹€λ£¨λŠ” ν•¨μˆ˜μ΄λ‹€.

 

ν•¨μˆ˜λ₯Ό 인자둜 λ°›μ•„μ„œ μ‹€ν–‰ν•˜λŠ” ν•¨μˆ˜λ“€μ„ μ‚΄νŽ΄λ³΄μž.

const funcAdd = f => f(1);

const add10 = a => a + 10;

console.log(funcAdd(add10));

μœ„ funcAdd ν•¨μˆ˜λŠ” console.logμ—μ„œ 인자둜 add10ν•¨μˆ˜λ₯Ό λ°›λŠ”λ‹€.

λ‹Ήμ—°ν•˜κ²Œ κ²°κ³ΌλŠ” 11둜 μ˜ˆμƒν•  수 μžˆλ‹€.

 

ν•¨μˆ˜λ₯Ό λ§Œλ“€μ–΄ λ¦¬ν„΄ν•˜λŠ” κ²½μš°λ„ μžˆλ‹€. 이런 경우λ₯Ό ν΄λ‘œμ €λ₯Ό λ§Œλ“€μ–΄ λ¦¬ν„΄ν•˜λŠ” ν•¨μˆ˜λΌκ³  λ§ν•œλ‹€.

ν•¨μˆ˜κ°€ ν•¨μˆ˜λ₯Ό λ§Œλ“€μ–΄μ„œ λ¦¬ν„΄ν• λ•ŒλŠ” 결ꡭ은 ν΄λ‘œμ €λ₯Ό λ§Œλ“€μ–΄μ„œ λ¦¬ν„΄ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•œλ‹€.

μ•„λž˜ μ˜ˆμ‹œλ₯Ό ν™•μΈν•΄λ³΄μž, μš°λ¦¬κ°€ 써보지 λͺ»ν•œ λŠλ‚Œμ˜ arrow Func 둜 μ ν˜€μžˆλ‹€.

const add = a => b => a + b;

const add10 = add(10);

μœ„ add10을 console둜 찍어보면 

b => a + bκ°€ λ¦¬ν„΄λœλ‹€.

 

κ·ΈλŸ¬λ‚˜ add10 ν•¨μˆ˜μ—μ„œ ν˜„μž¬ a값은 10으둜 μ •μ˜λ˜μ–΄ μžˆκΈ°μ— aλŠ” ν΄λ‘œμ €λ‘œ λ™μž‘ν•œλ‹€. a의 값을 항상 10으둜 κΈ°μ–΅λ˜λ„λ‘ ν΄λ‘œμ €κ°€ λ§Œλ“€μ–΄μ Έ μžˆλ‹€.

const add = a => b => a + b;

const add10 = add(10);

console.log(add10(5));
console.log(add10(10));

μœ„ κ²°κ³ΌλŠ” λ‹Ήμ—°νžˆ 15, 20이 좜λ ₯λ˜λŠ” κ±Έ 확인할 수 μžˆλ‹€.

 

arrow func이  ν•œ ν•¨μˆ˜μ— μ—°μ†μœΌλ‘œ μ—¬λŸ¬κ°œ μ •μ˜λ˜μ–΄ 있으면 κ·Έλƒ₯ κ°„λ‹¨ν•˜κ²Œ ν΄λ‘œμ €λ‘œ λ™μž‘ν•˜κΈ° μœ„ν•œ ν•¨μˆ˜λΌλ„ μ΄ν•΄ν•˜κ³  λ„˜μ–΄κ°€μž! 

728x90
λ°˜μ‘ν˜•