์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ์ดˆ 2. ํ•จ์ˆ˜ | ํ•จ์ˆ˜ ์ •์˜, ํ˜ธ์ถœ, ๊ทธ๋ฆฌ๊ณ  ์ฝœ๋ฐฑํ•จ์ˆ˜
language/javascript

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ์ดˆ 2. ํ•จ์ˆ˜ | ํ•จ์ˆ˜ ์ •์˜, ํ˜ธ์ถœ, ๊ทธ๋ฆฌ๊ณ  ์ฝœ๋ฐฑํ•จ์ˆ˜

๋ฐ˜๋ณต์ ์œผ๋กœ ์ˆ˜ํ–‰๋˜๋Š” ์ผ๋“ค์€ ํ•จ์ˆ˜๋กœ ์ž‘์„ฑํ•˜์—ฌ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์ธ๋‹ค!

 

// ํ•จ์ˆ˜ ์„ ์–ธ
function add(a, b) {
	return a + b;
}

// ํ•จ์ˆ˜ ํ˜ธ์ถœ
const sum = add(3, 4);
  • ํ•จ์ˆ˜์˜ ์ด๋ฆ„์„ ์ž‘์„ฑํ•  ๋•Œ๋Š” ์˜๋ฏธ ์žˆ๋Š” ์ด๋ฆ„์„ ์‚ฌ์šฉํ•  ๊ฒƒ

 

function add(num1, num2) {
	return num1 + num2;
}

const doSomething = add; // add์˜ ref๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ ํ• ๋‹น

const result = doSomething(2, 3);
const result2 = add(2, 3);
// result์™€ result2๋Š” ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  • ํ•จ์ˆ˜๋„ object์˜ ํ•œ ์ข…๋ฅ˜์ด๋‹ค.
  • add(ํ•จ์ˆ˜์ด๋ฆ„)์—๋Š”, ํ•จ์ˆ˜ ์ž์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” reference๊ฐ€ ๋‹ด๊ฒจ์žˆ๋‹ค.

 

function divide(num1, num2) {
	return num1 / num2;
}

function surprise(operator) {
	const result = operator(2, 3); // divide(2, 3)
    console.log(result);
}

surprise(divide);

 

 

 

์ฐธ๊ณ 

youtube ๋“œ๋ฆผ์ฝ”๋”ฉ by ์—˜๋ฆฌ

https://www.youtube.com/watch?v=-cAPq25P-68&list=PLv2d7VI9OotTVOL4QmPfvJWPJvkmv6h-2&index=16