Week 1 - JavaScript 03. Function

๊น€๋ฏผ์žฌยท2021๋…„ 7์›” 26์ผ
0

TIL, WeCode, Courseย 

๋ชฉ๋ก ๋ณด๊ธฐ
3/48
post-thumbnail
post-custom-banner

*๐Ÿ”Study Keyword :

๐Ÿ”‘ํ•จ์ˆ˜์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž์•„!

- 03. ํ•จ์ˆ˜


-WHAT ISโ“

  • ํ•จ์ˆ˜๋Š” ํฌ๊ฒŒ 1> input ๋ฐ›๊ธฐ 2> ๊ธฐ๋Šฅ์ˆ˜ํ–‰ 3> output ๋ฐ˜ํ™˜์œผ๋กœ ๋‚˜๋‰œ๋‹ค.ํ•จ์ˆ˜๋ž€ ๋ฌด์–ธ๊ฐ€๋กœ๋ถ€ํ„ฐ input์„ ๋ฐ›์•„ ํ•จ์ˆ˜๊ฐ€ ๋‚ด๋ถ€์ ์œผ๋กœ ํŠน์ •ํ•œ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋ฉด ๊ธฐ๋Šฅ์˜ ๊ฒฐ๊ณผ๋ฌผ๋กœ์„œ output์„ ๋„์ถœํ•˜๋Š” ๊ณผ์ •์„ ๋งํ•œ๋‹ค.

๐Ÿ”…์ฐธ๊ณ ๐Ÿ”…)

๋‹จ, ํ•จ์ˆ˜์˜ ์„ธ๊ฐ€์ง€ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ๋ชจ๋‘ ์ถฉ์กฑ๋˜์–ด์•ผ ๋™์ž‘ํ•˜๋Š” ๊ฑด ์•„๋‹ˆ๋‹ค.
1> input ๋ฐ›๊ธฐ์™€ 3> output ๋ฐ˜ํ™˜์ด ๋ชจ๋‘ ์—†์ด 2> ๊ธฐ๋Šฅ์ˆ˜ํ–‰๋งŒ ์กด์žฌํ•ด๋„ ๋™์ ํ•˜๊ณ  1> input ๋ฐ›๊ธฐ๋‚˜ 3> output ๋ฐ˜ํ™˜ ๋‘˜ ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋น ์ ธ๋„ ๋™์ž‘์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

1> ๊ธฐ๋Šฅ ์ˆ˜ํ–‰๋งŒ ํ•˜๋Š” ํ•จ์ˆ˜

-HOW TO USEโ•โ“ ํ•จ์ˆ˜๋Š” ๋ณ€์ˆ˜์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์„ ์–ธ(=์ •์˜)์„ ํ•˜๊ณ  ์‹คํ–‰(=ํ˜ธ์ถœ)์„ ํ•ด์ค˜์•ผ๋งŒ ๋™์ž‘ํ•œ๋‹ค. ์„ ์–ธ๊ณผ ํ˜ธ์ถœ์€ ํ•ญ์ƒ ์ง์„ ์ด๋ฃฌ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ž.

<script>
funcion sayHi() {// sayHi(), ํ•จ์ˆ˜ ์ •์˜
	console.log('Hi, jamie')
}
sayHi();// 'Hi, jamie', ํ•จ์ˆ˜ ํ˜ธ์ถœ
</script>

2> return์ด ์žˆ๋Š” ํ•จ์ˆ˜ - ๊ธฐ๋Šฅ ์ˆ˜ํ–‰, output ๋ฐ˜ํ™˜๊นŒ์ง€ ์žˆ๋Š” ํ•จ์ˆ˜

-HOW TO USEโ•โ“

  • return๊ฐ’, ์ฆ‰ ํ•จ์ˆ˜์˜ output์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฌผ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
  • return์€ ๋ณ€์ˆ˜์— ํ• ๋‹น ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ํŠน์ง•์„ ๊ฐ€์ง„๋‹ค.
<script>
funcion sayHi2() {// sayHi2(), ํ•จ์ˆ˜ ์ •์˜
	let friend = "jamie";
  	return 'Return ' + friend; // ๋ฆฌํ„ด ์ฝ”๋“œ ํ‚ค๋Š” ๊ฒฐ๊ณผ๋ฌผ๋กœ์„œ ๋ฐ˜ํ™˜๋งŒ ํ•œ๋‹ค.
}
sayHi2();// ํ•จ์ˆ˜ ํ˜ธ์ถœํ•ด๋„ ๋ฆฌํ„ด๊ฐ’์€ ๋ฐ˜ํ™˜๋งŒ ๋˜์–ด ์•„๋ฌด์ผ๋„ ์ผ์–ด๋‚˜์ง€ ์•Š๋Š”๋‹ค. 
console.log(sayHi2()); // 'Return jamie', ์ถœ๋ ฅ์„ ์œ„ํ•ด์„  ํ˜ธ์ถœํ•œ ๊ฐ’ ์ž์ฒด๋ฅผ ๋„ฃ์–ด์ค˜์•ผ ๋ฆฌํ„ด๊ฐ’์ด ์ฐํžŒ๋‹ค.
let myFriend = sayHello2(); // ๋ฆฌํ„ดํ•œ ๊ฐ’์„ ๋ณ€์ˆ˜์— ํ• ๋‹น ํ•  ์ˆ˜๊ฐ€ ์žˆ๋‹ค.
console.log(myFriend)
</script>

๐Ÿ’กTIP) return vs console ?!

-return์€ ํ•จ์ˆ˜์˜ output์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฌผ์„ ์˜๋งˆํ•˜๊ณ  console.log๋Š” ๋‹จ์ˆœํžˆ ํ™”๋ฉด์— ์ถœ๋ ฅํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
-return์€ ๋ณ€์ˆ˜์— ํ• ๋‹น ๊ฐ€๋Šฅํ•˜์ง€๋งŒ console.log๋Š” ๋ณ€์ˆ˜์— ํ• ๋‹น ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค(output ๊ฐ’์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์—)

3> input์ด ์žˆ๋Š” ํ•จ์ˆ˜ - input, ๊ธฐ๋Šฅ ์ˆ˜ํ–‰, output ๊นŒ์ง€ ์žˆ๋Š” ํ•จ์ˆ˜

-HOW TO USEโ•โ“

  • input, ()์†Œ๊ด„ํ˜ธ ์•ˆ์— ํ•˜๋‚˜ ํ˜น์€ ์—ฌ๋Ÿฌ๊ฐœ์˜ input์„ ์ „๋‹ฌํ•ด ํ•จ์ˆ˜ ๊ธฐ๋Šฅ ์ˆ˜ํ–‰์— input์„ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค.
<script>
// ํ•จ์ˆ˜์˜ input์ด 1๊ฐœ์ธ ๊ฒฝ์šฐ
function sayHi3(name) { // ํ•จ์ˆ˜ ์„ ์–ธ์‹œ name -> parameter๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.
  return `hello, ${name}`
}
let greeting = sayHi4('jamie') // ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ ํŒŒ๋ผ๋ฏธํ„ฐ ์ž๋ฆฌ์— ๋„ฃ๋Š” jamie -> argument๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค
console.log(greeting)
// ํ•จ์ˆ˜์˜ input์ด ์—ฌ๋Ÿฌ๊ฐœ์ธ ๊ฒฝ์šฐ
function sayFullName(firstName, lastName) {
  return `My full Name is ${firstName + lastName}` 
}
getFullName("kim ", "minjae"); //Kim minjae, ์ธ์ž์˜ ์ˆœ์„œ๋ฅผ ์ง€์ผœ์ค˜์•ผํ•œ๋‹ค.
</script>

+) ํ•จ์ˆ˜ ์‚ฌ์šฉ์‹œ ์ฃผ์˜ํ•  ์ 

  • ํ•จ์ˆ˜์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋‚˜ ๋‚ด๋ถ€์—์„œ ๋‹ค๋ฃจ๊ณ  ์žˆ๋Š” ๋ณ€์ˆ˜๋“ค์€ ํ•จ์ˆ˜ ๋ธ”๋ก ๋ฐ–์—์„œ ์ ‘๊ทผ ํ•  ์ˆ˜ ์—†๊ณ  ๋ฐ˜๋Œ€๋กœ ๋งํ•˜๋ฉด ์˜ค์ง ํ•จ์ˆ˜ ๋‚ด๋ถ€ ๋ธ”๋ก ์•ˆ์—์„œ๋งŒ ์‚ฌ์šฉ๊ฐ€๋Šฅ ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๊ผญ ๊ธฐ์–ตํ•˜์ž!
    (ํ•จ์ˆ˜ ๋ธ”๋ก ๋ฐ–์ด๋ž€ ํ•จ์ˆ˜์˜ {}, ์ค‘๊ด„ํ˜ธ์˜ ๋ฒ”์œ„๋ฅผ ๋„˜์—ˆ์„ ๋•Œ๋ฅผ ๋งํ•œ๋‹ค,)
<script>
function sayFullName(firstName, lastName) {
	let fullName = firstName + lastName
  return `My full Name is ${fullName}` 
}
//ํŒŒ๋งˆ๋ฆฌํ„ฐ firstName๊ณผ lastName, ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ์“ฐ์ธ fullName ๋ณ€์ˆ˜๋Š” ํ•จ์ˆ˜ ๋ฐ–์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.
console.log(firstName, lastName, fullName);// undefined, ํ•จ์ˆ˜ ๋ฐ–์—์„œ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋‹ค.

*๐Ÿ’กconclusion

ํ•จ์ˆ˜(input์ด ์žˆ๋Š” ํ•จ์ˆ˜, result๊ฐ€ ์žˆ๋Š” ํ•จ์ˆ˜ ๋“ฑ)์— ๋Œ€ํ•ด์„œ ๋” ์ž์„ธํžˆ ๊ณต๋ถ€ํ•˜๊ณ  ํ•จ์ˆ˜ ์‚ฌ์šฉ์‹œ ๋ฒ”์œ„๋ฅผ ์ฃผ์˜ํ•˜๋„๋ก ํ•˜์ž!

#๐Ÿ“‘Study Source

  1. weekcode ๊ฐ•์˜ ์ค‘ ๋‚ด์šฉ
profile
์ž๊ธฐ ์‹ ๋ขฐ์˜ ํž˜์„ ๋ฏฟ๊ณ  ์‹ค์ฒœํ•˜๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ณ ์žํ•ฉ๋‹ˆ๋‹ค.
post-custom-banner

0๊ฐœ์˜ ๋Œ“๊ธ€