Notice
Recent Posts
Recent Comments
Link
ยซ   2024/09   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
๊ด€๋ฆฌ ๋ฉ”๋‰ด

Lennon FE

[JavaScript] ๊ณ ์ฐจํ•จ์ˆ˜ ๋ณธ๋ฌธ

๐Ÿง‘‍๐Ÿ’ป 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
๋ฐ˜์‘ํ˜•
Comments