์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ•จ์ˆ˜ ๊ธฐ๋ณธํŽธ
language/javascript

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ•จ์ˆ˜ ๊ธฐ๋ณธํŽธ

1. ํ•จ์ˆ˜ ์„ ์–ธ & ํ˜ธ์ถœ

// ํ•จ์ˆ˜ ์„ ์–ธ
function doSomething() {
	console.log('hello');
}

// ํ•จ์ˆ˜ ํ˜ธ์ถœ
doSomething();

 

2. ๊ฐ’์„ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜

function add(a, b) { // js๋Š” ๋”ฐ๋กœ ํƒ€์ž…์„ ์„ ์–ธํ•˜์ง€ ์•Š์•„๋„ ๋จ!
	const sum = a + b;
    return sum; // ๋”ํ•œ ๊ฒฐ๊ณผ๋ฅผ return ํ‚ค์›Œ๋“œ๋ฅผ ํ™œ์šฉํ•ด์„œ ์ „๋‹ฌ
}

add(1, 2); // ๋ฅผ ํ†ตํ•ด ํ˜ธ์ถœ๋งŒ ํ•˜๊ฒŒ ๋˜๋ฉด, ์•„๋ฌด๊ฒƒ๋„ ์ผ์–ด๋‚˜์ง€ ์•Š์Œ

// ํ•จ์ˆ˜๊ฐ€ ์ „๋‹ฌํ•œ ๊ฐ’์„ ๋ณ€์ˆ˜์— ํ• ๋‹นํ•œ ํ›„ ์ถœ๋ ฅ!
const result = add(1, 2);
console.log(result);

 

3. ํ•จ์ˆ˜๋ฅผ ์ธ์ž๋กœ ์ „๋‹ฌ

function doSomething(add) {
	console.log(add);
}

function add(a, b) { 
	const sum = a + b;
    return sum; 
}

// 1. ์ธ์ž๋กœ add ํ•จ์ˆ˜ ์ž์ฒด๋ฅผ ์ „๋‹ฌ
doSomething(add);

// 2. ์ธ์ž๋กœ add ํ•จ์ˆ˜ ํ˜ธ์ถœ
doSomething(add());

// 3. ์ธ์ž๋กœ add ํ•จ์ˆ˜ ํ˜ธ์ถœ ๋’ค, add์˜ ๊ฒฐ๊ณผ๊ฐ’ ์ „๋‹ฌ
doSomething(add(1, 2));

1๏ธโƒฃ ์ธ์ž๋กœ add ํ•จ์ˆ˜ ์ž์ฒด๋ฅผ ์ „๋‹ฌ

2๏ธโƒฃ ์ธ์ž๋กœ add ํ•จ์ˆ˜ ํ˜ธ์ถœ

3๏ธโƒฃ ์ธ์ž๋กœ add ํ•จ์ˆ˜ ํ˜ธ์ถœ ๋’ค, add์˜ ๊ฒฐ๊ณผ๊ฐ’ ์ „๋‹ฌ

 

4. ์„ ์–ธ & ํ˜ธ์ถœ ์ •๋ฆฌ

  • ํ•จ์ˆ˜์—๋Š” ์„ ์–ธ๊ณผ ํ˜ธ์ถœ์ด ์žˆ๋‹ค.
  • ์„ ์–ธ: ์–ด๋–ค ๊ฐ’์„ ์ „๋‹ฌ๋ฐ›์•„์˜ฌ ๊ฒƒ์ธ์ง€ ์ธ์ž๋“ค์„ ์ •์˜ํ•˜๊ณ  ๋‚˜์„œ ์ฝ”๋“œ๋ธ”๋Ÿญ์„ ์ž‘์„ฑํ•œ๋‹ค.
  • ์„ ์–ธ๋งŒ ํ•ด๋‘๋ฉด ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ธ”๋Ÿญ์€ ์ˆ˜ํ–‰๋˜์ง€ ์•Š๋Š”๋‹ค.
  • ํ˜ธ์ถœ: ์„ ์–ธํ•œ ํ•จ์ˆ˜๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ˜ธ์ถœ์ด ํ•„์š”ํ•˜๋‹ค.
  • ํ˜ธ์ถœ์€ ํ•จ์ˆ˜์ด๋ฆ„ ์˜†์— ๊ด„ํ˜ธ()๋ฅผ ์ด์šฉํ•ด์„œ ํ•จ์ˆ˜์—์„œ ์ •์˜๋œ ์ธ์ž๊ฐ’๋“ค์„ ์ „๋‹ฌํ•˜๋ฉด์„œ ํ•œ๋‹ค.
    • ํ•จ์ˆ˜์˜ ์ด๋ฆ„ ์ž์ฒด๋ฅผ ์ธ์ž๋กœ ์ „๋‹ฌํ•˜๋ฉด, ํ•จ์ˆ˜ ์ž์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ฒŒ ๋œ๋‹ค.
    • ํ•จ์ˆ˜์˜ ์ด๋ฆ„ ์˜†์— ๋‹ค์‹œ ๊ด„ํ˜ธ()๋ฅผ ์ด์šฉํ•ด์„œ ์ •์˜๋œ ์ธ์ž ์ „๋‹ฌ ํ›„ ํ˜ธ์ถœํ•˜๋ฉด ํ•„์š”ํ•œ ๊ฐ’์„ ๋ฐ˜ํ™˜๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

์ฐธ๊ณ 

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

https://www.youtube.com/watch?v=PuG2VW18O1E&list=PLv2d7VI9OotTVOL4QmPfvJWPJvkmv6h-2&index=14