FP

์ˆœ์ˆ˜ ํ•จ์ˆ˜๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๋Š” ๋ฐฉ์‹

(์ ˆ์ฐจ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ, ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ๋Œ€์กฐ)

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹

  • ๋ช…๋ นํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ์–ด๋–ป๊ฒŒ์— ์ค‘์ 

    • ์ ˆ์ฐจ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ์ˆœ์ฐจ์  ์ฒ˜๋ฆฌ

    • ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ๊ฐ์ฒด ์ง‘ํ•ฉ์ด ์„œ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•˜์—ฌ ์ฒ˜๋ฆฌ

  • ์„ ์–ธํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ๋ฌด์—‡์— ์ค‘์ 

    • ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ์ˆœ์ˆ˜ํ•จ์ˆ˜๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ์ฒ˜๋ฆฌ

ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ํŠน์ง•

  • ๋ฐ์ดํ„ฐ๋Š” ๋ถˆ๋ณ€ํ•˜๋‹ค

  • ๋ฌธ์ œ๋ฅผ ํ•จ์ˆ˜๋กœ ๋ถ„ํ•ดํ•˜์—ฌ ํ•ด๊ฒฐ

  • ์กฐ๊ฑด๋ฌธ/๋ฐ˜๋ณต๋ฌธ ์ง€์›์•ˆํ•จ

๋ถˆ๋ณ€์„ฑ

  • ํ•จ์ˆ˜ ๋ฐ–์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์Œ

  • ํ•จ์ˆ˜์˜ ๋ฐ˜ํ™˜ ๊ฐ’์€ ํ•จ์ˆ˜ ๋‚ด์—์„œ ์ˆ˜ํ–‰๋œ ์ž‘์—…๋งŒ

  • Side Effect ๋ฐฉ์ง€ โ†’ ํ•จ์ˆ˜ ๋‚ด๋ถ€ ๋™์ž‘์œผ๋กœ ์ธํ•ด ์™ธ๋ถ€์— ์˜ํ–ฅ ์•ˆ์คŒ

์ˆœ์ˆ˜ ํ•จ์ˆ˜

  • ์ž…๋ ฅ ๋งค๊ฐœ๋ณ€์ˆ˜์—๋งŒ ์˜์กด, Side Effect ๋ฐœ์ƒ์•ˆํ•จ

์œ ์ง€ ๋ณด์ˆ˜์˜ ์šฉ์ด์„ฑ

  • Side Effect๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์œผ๋ฉด ์œ ์ง€ ๋ณด์ˆ˜์— ์šฉ์ด

์„ ์–ธํ˜• ํ•จ์ˆ˜

  • ๋ฌด์—‡์„ ํ• ์ง€์— ์ค‘์ 

    // ๋ช…๋ นํ˜•
    const arr = [1,2,3,4,5];
    function calculator(value) {
    	for (let i = 0; i <= arr.length; i++) {
    		arr[i] = arr[i] * value;
    	}
    }
    
    // ์„ ์–ธํ˜•
    function calculator(arr, value) {
    	return arr.map((num) => num * value);
    }

Last updated