๐Ÿ“ŒLanguage/JavaScript

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ return์— ๋Œ€ํ•ด์„œ ๋” ๊ณต๋ถ€ํ•ด๋ณด์ž

hellohailie 2022. 4. 11. 01:40

ํ•œ ์ฃผ๋™์•ˆ ๋“ค์—ˆ๋˜ ์ˆ˜์—…์„ ๋ณต์Šตํ•˜๋ฉด์„œ ์ดํ•ด๊ฐ€ ๋˜์ง€ ์•Š์•˜๋˜ return์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ๋‹ค. 

์‚ฌ์‹ค ๊ณต๋ถ€๋ฅผ ํ–ˆ์ง€๋งŒ 100% ์ดํ•ด๋ฅผ ํ•œ๊ฒŒ ์•„๋‹ˆ๋ผ์„œ ์ง€๊ธˆ ์ ๋Š” ๋‚ด์šฉ ์ค‘์—๋„ ๋ฏธํกํ•œ ์ ์ด ์žˆ์„ ์ˆ˜๋„ ์žˆ๋‹ค. 

๋‚˜์ค‘์— ๋‚ด๊ฐ€ ์ด ํฌ์ŠคํŒ…์„ ๋ณด๊ณ ์„œ ์ˆ˜์ •ํ•  ์‚ฌํ•ญ์ด ์žˆ๋‹ค๋ฉด ์ˆ˜์ •ํ•ด์„œ ์žฌ ์—…๋กœ๋“œ ํ•  ์˜ˆ์ •์ด๋‹ค..! ๋ฏธ๋ž˜์˜ ํ—ฌ๋ฆฌ์•ผ ์‹ค๋ ฅ์•„ ์‘ฅ์‘ฅ ์˜ฌ๋ผ๋ผ!!

 


 

return ์ด๋ž€

1. return์€ ๋ง๊ทธ๋Œ€๋กœ ๋Œ๋ ค์ค€๋‹ค๋Š” ์˜๋ฏธ. ๋‚ด๊ฐ€ ์„ค์ •ํ•œ ๊ฐ’์„ ๊ฒฐ๊ณผ๊ฐ’์œผ๋กœ ๋Œ๋ ค์ค€๋‹ค๋Š” ๋ง์ž…๋‹ˆ๋‹ค

2. return ๋’ค์—์˜ค๋Š” ํ•จ์ˆ˜๋“ค์€ ์ฆ‰์‹œ ์ข…๋ฃŒ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. "dead code"

 

๋ฆฌํ„ด๊ฐ’์€ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰์‹œํ‚จ ๊ณณ์œผ๋กœ ๋Œ๋ ค์ค€๋‹ค 

๊ทธ๋ฆฌ๊ณ  ํ•จ์ˆ˜๊ฐ€ ๋๊นŒ์ง€ ์‹คํ–‰๋˜์ง€ ์•Š๊ณ  ๋ฆฌํ„ดํ•˜๋Š” ์ง€์ ์—์„œ ๋๋‚œ๋‹ค. 

 

์˜ˆ์‹œ1

 

 

  1. hello๋ผ๋Š” function์„ ์‹คํ–‰ํ•˜๋Š”๋ฐ number1, number2๋ฅผ ๋„ฃ์–ด๋ด. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฑธ helloReturnValue๋ผ๊ณ  ํ•˜์ž.

number1์ด๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ 10์ด๋ผ๊ณ  ์„ ์–ธํ–ˆ๋„ค!
number2๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ 20์ด๋ผ๊ณ  ์„ ์–ธํ–ˆ๋„ค!

 

funtion hello์˜ a, b์— ๊ฐ ๊ฐ number1(10), number2(20)๋ฅผ ๋„ฃ์–ด๋ด!

์•Œ๊ฒ ์–ด! ์ฆ‰ console.log a, b์— number1(10), number2(20) ๋„ฃ์„๊ฒŒ! ๊ทธ๋Ÿผ 10+20์ด๋‹ˆ๊นŒ 30!!!!

>์ด๋ ‡๊ฒŒ ์ฒซ๋ฒˆ์งธ ์ค„ 30์ด ์ฝ˜์†”์ฐฝ์— ๋กœ๊ทธ๋˜์—ˆ์–ด์š”!

 

   2. hello๋ผ๋Š” function์„ ์‹คํ–‰ํ•˜๋Š”๋ฐ number3, number4๋ฅผ ๋„ฃ์–ด๋ด. 

 

number3๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ 30์ด๋ผ๊ณ  ์„ ์–ธํ–ˆ๋„ค!
number4๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ 40์ด๋ผ๊ณ  ์„ ์–ธํ–ˆ๋„ค!

 

funtion hello์˜ a, b์— ๊ฐ ๊ฐ number3(30), number4(40)๋ฅผ ๋„ฃ์–ด๋ด!

์•Œ๊ฒ ์–ด! ์ฆ‰ console.log a, b์— number3(30), number4(40) ๋„ฃ์„๊ฒŒ! ๊ทธ๋Ÿผ 30+40์ด๋‹ˆ๊นŒ 70!!!!

>์ด๋ ‡๊ฒŒ ๋‘๋ฒˆ์งธ ์ค„ 70์ด ์ฝ˜์†”์ฐฝ์— ๋กœ๊ทธ๋˜์—ˆ์–ด์š”!

 

   3. hello๋ผ๋Š” function์„ ์‹คํ–‰ํ•˜๋Š”๋ฐ number1, number2๋ฅผ ๋„ฃ์–ด!

 

number1์ด๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ 10์ด๋ผ๊ณ  ์„ ์–ธํ–ˆ๋„ค!
number2๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ 20์ด๋ผ๊ณ  ์„ ์–ธํ–ˆ๋„ค!

 

funtion hello์˜ a, b์— ๊ฐ ๊ฐ number1(10), number2(20)๋ฅผ ๋„ฃ์–ด๋ด!

์•Œ๊ฒ ์–ด! ์ฆ‰ console.log a, b์— number1(10), number2(20) ๋„ฃ์„๊ฒŒ! ๊ทธ๋Ÿผ 10+20์ด๋‹ˆ๊นŒ 30!!!!

>์ด๋ ‡๊ฒŒ ์„ธ๋ฒˆ์งธ ์ค„ 30์ด ์ฝ˜์†”์ฐฝ์— ๋กœ๊ทธ๋˜์—ˆ์–ด์š”!

 

  4.  3๋ฒˆ์—์„œ ํ–ˆ๋˜ ๊ฑธ ์ฝ˜์†” ์ฐฝ์— ๋ณด์—ฌ์ค˜!

๋ชปํ•ด! 

>์ด๋ ‡๊ฒŒ ๋„ค๋ฒˆ์งธ ์ค„์— undefined๊ฐ€ ์ฝ˜์†”์ฐฝ์— ๋กœ๊ทธ๋˜์—ˆ์–ด์š”!

 

 

 

์˜ˆ์‹œ2

 

  1. hello๋ผ๋Š” function์„ ์‹คํ–‰ํ•˜๋Š”๋ฐ number1, number2๋ฅผ ๋„ฃ์–ด๋ด. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฑธ helloReturnValue๋ผ๊ณ  ํ•˜์ž.

number1์ด๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ 10์ด๋ผ๊ณ  ์„ ์–ธํ–ˆ๋„ค!
number2๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ 20์ด๋ผ๊ณ  ์„ ์–ธํ–ˆ๋„ค!

 

funtion hello์˜ a, b์— ๊ฐ ๊ฐ number1(10), number2(20)๋ฅผ ๋„ฃ์–ด๋ด!

์•Œ๊ฒ ์–ด! ์ฆ‰ console.log a, b์— number1(10), number2(20) ๋„ฃ์„๊ฒŒ! ๊ทธ๋Ÿผ 10+20์ด๋‹ˆ๊นŒ 30!!!!

>์ด๋ ‡๊ฒŒ ์ฒซ๋ฒˆ์งธ ์ค„ 30์ด ์ฝ˜์†”์ฐฝ์— ๋กœ๊ทธ๋˜์—ˆ์–ด์š”!

 

   2. hello๋ผ๋Š” function์„ ์‹คํ–‰ํ•˜๋Š”๋ฐ number3, number4๋ฅผ ๋„ฃ์–ด๋ด. 

 

number3๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ 30์ด๋ผ๊ณ  ์„ ์–ธํ–ˆ๋„ค!
number4๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ 40์ด๋ผ๊ณ  ์„ ์–ธํ–ˆ๋„ค!

 

funtion hello์˜ a, b์— ๊ฐ ๊ฐ number3(30), number4(40)๋ฅผ ๋„ฃ์–ด๋ด!

์•Œ๊ฒ ์–ด! ์ฆ‰ console.log a, b์— number3(30), number4(40) ๋„ฃ์„๊ฒŒ! ๊ทธ๋Ÿผ 30+40์ด๋‹ˆ๊นŒ 70!!!!

>์ด๋ ‡๊ฒŒ ๋‘๋ฒˆ์งธ ์ค„ 70์ด ์ฝ˜์†”์ฐฝ์— ๋กœ๊ทธ๋˜์—ˆ์–ด์š”!

 

   3. hello๋ผ๋Š” function์„ ์‹คํ–‰ํ•˜๋Š”๋ฐ number1, number2๋ฅผ ๋„ฃ์–ด!

 

number1์ด๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ 10์ด๋ผ๊ณ  ์„ ์–ธํ–ˆ๋„ค!
number2๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ 20์ด๋ผ๊ณ  ์„ ์–ธํ–ˆ๋„ค!

 

funtion hello์˜ a, b์— ๊ฐ ๊ฐ number1(10), number2(20)๋ฅผ ๋„ฃ์–ด๋ด!

์•Œ๊ฒ ์–ด! ์ฆ‰ console.log a, b์— number1(10), number2(20) ๋„ฃ์„๊ฒŒ! ๊ทธ๋Ÿผ 10+20์ด๋‹ˆ๊นŒ 30!!!!

>์ด๋ ‡๊ฒŒ ์„ธ๋ฒˆ์งธ ์ค„ 30์ด ์ฝ˜์†”์ฐฝ์— ๋กœ๊ทธ๋˜์—ˆ์–ด์š”!

 

  4.  3๋ฒˆ์—์„œ ํ–ˆ๋˜ ๊ฑธ ์ฝ˜์†” ์ฐฝ์— ๋ณด์—ฌ์ค˜!

return์ด ์ €์žฅ์„ ํ•˜๊ณ  ์™ธ๋ถ€์™€ ์—ฐ๊ฒฐ์„ ํ•ด์ฃผ๋‹ˆ๊นŒ console.log๋กœ ํ† ์Šค ๊ฐ€๋Šฅํ•ด์š”! ๊ทธ๋ž˜์„œ 30์ด ์ถœ๋ ฅ๋ผ์š”!

>์ด๋ ‡๊ฒŒ ๋„ค๋ฒˆ์งธ ์ค„์— 30๊ฐ€ ์ฝ˜์†”์ฐฝ์— ๋กœ๊ทธ๋˜์—ˆ์–ด์š”!

 

 

์˜ˆ์‹œ3

 

(์ด๋ฒˆ์—๋Š” ์นœ์ ˆํ•˜๊ฒŒ ์ƒ‰ ๋ณ„๋กœ ์–ด๋””์„œ ์ถœ๋ ฅ๋œ ๊ฐ’์ธ์ง€ ์•Œ ์ˆ˜ ์žˆ๋„๋ก ํ‘œ์‹œ๋ฅผ ํ•ด๋ดค์–ด์š”!)

 

  1. hello๋ผ๋Š” function์„ ์‹คํ–‰ํ•˜๋Š”๋ฐ number1, number2๋ฅผ ๋„ฃ์–ด๋ด. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฑธ helloReturnValue๋ผ๊ณ  ํ•˜์ž.

number1์ด๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ 10์ด๋ผ๊ณ  ์„ ์–ธํ–ˆ๋„ค!
number2๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ 20์ด๋ผ๊ณ  ์„ ์–ธํ–ˆ๋„ค!

 

funtion hello์˜ a, b์— ๊ฐ ๊ฐ number1(10), number2(20)๋ฅผ ๋„ฃ์–ด๋ด!

์•Œ๊ฒ ์–ด! ์ฆ‰ console.log a, b์— number1(10), number2(20) ๋„ฃ์„๊ฒŒ! ๊ทธ๋Ÿผ 10+20์ด๋‹ˆ๊นŒ 30!!!!

>์ด๋ ‡๊ฒŒ ์ฒซ๋ฒˆ์งธ ์ค„ 30์ด ์ฝ˜์†”์ฐฝ์— ๋กœ๊ทธ๋˜์—ˆ์–ด์š”!

 

   2. hello๋ผ๋Š” function์„ ์‹คํ–‰ํ•˜๋Š”๋ฐ number3, number4๋ฅผ ๋„ฃ์–ด๋ด. 

 

number3๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ 30์ด๋ผ๊ณ  ์„ ์–ธํ–ˆ๋„ค!
number4๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ 40์ด๋ผ๊ณ  ์„ ์–ธํ–ˆ๋„ค!

 

funtion hello์˜ a, b์— ๊ฐ ๊ฐ number3(30), number4(40)๋ฅผ ๋„ฃ์–ด๋ด!

์•Œ๊ฒ ์–ด! ์ฆ‰ console.log a, b์— number3(30), number4(40) ๋„ฃ์„๊ฒŒ! ๊ทธ๋Ÿผ 30+40์ด๋‹ˆ๊นŒ 70!!!!

>์ด๋ ‡๊ฒŒ ๋‘๋ฒˆ์งธ ์ค„ 70์ด ์ฝ˜์†”์ฐฝ์— ๋กœ๊ทธ๋˜์—ˆ์–ด์š”!

 

   3. hello๋ผ๋Š” function์„ ์‹คํ–‰ํ•˜๋Š”๋ฐ number1, number2๋ฅผ ๋„ฃ์–ด!

 

number1์ด๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ 10์ด๋ผ๊ณ  ์„ ์–ธํ–ˆ๋„ค!
number2๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ 20์ด๋ผ๊ณ  ์„ ์–ธํ–ˆ๋„ค!

 

funtion hello์˜ a, b์— ๊ฐ ๊ฐ number1(10), number2(20)๋ฅผ ๋„ฃ์–ด๋ด!

์•Œ๊ฒ ์–ด! ์ฆ‰ console.log a, b์— number1(10), number2(20) ๋„ฃ์„๊ฒŒ! ๊ทธ๋Ÿผ 10+20์ด๋‹ˆ๊นŒ 30!!!!

>์ด๋ ‡๊ฒŒ ์„ธ๋ฒˆ์งธ ์ค„ 30์ด ์ฝ˜์†”์ฐฝ์— ๋กœ๊ทธ๋˜์—ˆ์–ด์š”!

 

  4.  hello๋ผ๋Š” function์„ ์‹คํ–‰ํ•˜๋Š”๋ฐ number3, number4๋ฅผ ๋„ฃ์–ด!

 

number3๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ 30์ด๋ผ๊ณ  ์„ ์–ธํ–ˆ๋„ค!
number4๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ 40์ด๋ผ๊ณ  ์„ ์–ธํ–ˆ๋„ค!

 

funtion hello์˜ a, b์— ๊ฐ ๊ฐ number3(30), number4(40)๋ฅผ ๋„ฃ์–ด๋ด!

์•Œ๊ฒ ์–ด! ์ฆ‰ console.log a, b์— number3(30), number4(40) ๋„ฃ์„๊ฒŒ! ๊ทธ๋Ÿผ 30+40์ด๋‹ˆ๊นŒ 70!!!!

>์ด๋ ‡๊ฒŒ ๋„ค๋ฒˆ์งธ ์ค„ 70์ด ์ฝ˜์†”์ฐฝ์— ๋กœ๊ทธ๋˜์—ˆ์–ด์š”!

 

 

   5 3๋ฒˆ, 4๋ฒˆ์—์„œ ํ–ˆ๋˜ ๊ฑธ console์ฐฝ์— ๋ณด์—ฌ์ค˜!

 

3๋ฒˆ 4๋ฒˆ์—์„œ ์‹คํ–‰ํ•œ ๊ฑธ return ๊ฐ’์ด ์ €์žฅํ•ด์„œ ํ† ์Šคํ•ด์ฃผ๋‹ˆ๊นŒ ๋‹น์—ฐํžˆ console ์ฐฝ์— ๋ณด๋‚ผ ์ˆ˜ ์žˆ์ง€!

30 ๊ณฑํ•˜๊ธฐ 70 ์ด๋‹ˆ๊นŒ 2100์ด๋„ค!!

>์ด๋ ‡๊ฒŒ ๋‹ค์„ฏ ๋ฒˆ์งธ ์ค„ 2100์ด ์ฝ˜์†”์ฐฝ์— ๋กœ๊ทธ๋˜์—ˆ์–ด์š”!

 

 

 

์ œ๊ฐ€ ์ดํ•ดํ•œ ๋ถ€๋ถ„์ด ํ‹€๋ฆฌ๋‹ค๋ฉด ์–ธ์ œ๋‚˜ ํƒœํด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค!

๐Ÿ‘ํƒœํดํ™˜์˜๐Ÿ‘

'๐Ÿ“ŒLanguage > JavaScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

์›์‹œ ์ž๋ฃŒํ˜•(primitive type)๊ณผ ์ฐธ์กฐ ์ž๋ฃŒํ˜•(reference data type)๋ฅผ ์•Œ์•„๋ณด์ž  (0) 2022.04.12
์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ํฌ๋กฌ ์•ฑ ๋งŒ๋“ค๊ธฐ - ๋…ธ๋งˆ๋“œ ์ฝ”๋” ํด๋ก ์ฝ”๋”ฉ #10 quotes ํ•จ์ˆ˜, ์ด๋ฏธ์ง€๋ฅผ html body์— ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•  (0) 2022.04.11
์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ํฌ๋กฌ ์•ฑ ๋งŒ๋“ค๊ธฐ - ๋…ธ๋งˆ๋“œ ์ฝ”๋” ํด๋ก ์ฝ”๋”ฉ #9 interval, timeout, ์‹œํ–‰์ฐฉ์˜ค, ์ดˆ์‹œ๊ณ„ ๋งŒ๋“ค๊ธฐ, padStart  (0) 2022.04.09
์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ํฌ๋กฌ ์•ฑ ๋งŒ๋“ค๊ธฐ - ๋…ธ๋งˆ๋“œ ์ฝ”๋” ํด๋ก ์ฝ”๋”ฉ #8 preventDefault, string๊ณผ ๋ณ€์ˆ˜ ํ•ฉ์น˜๊ธฐ, 4๊ฐ• super recap๊นŒ์ง€  (0) 2022.04.09
์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ํฌ๋กฌ ์•ฑ ๋งŒ๋“ค๊ธฐ - ๋…ธ๋งˆ๋“œ ์ฝ”๋” ํด๋ก ์ฝ”๋”ฉ #7 ์—๋Ÿฌ ์ตœ์†Œํ™” ์‹œํ‚ค๊ธฐ,toggle  (0) 2022.04.08