function sayhi() {
let hi = "์๋
";
return hi;
} //ํจ์์ ์ธ
sayhi(); //ํจ์ํธ์ถ
์ฌ๊ธฐ์ add์ ๋ณ์์ด๋ฆ, x๋ ์ฌ์ฉ์๊ฐ ๋ฃ๊ณ ์ถ์ ๊ฒ์ ๋ฃ๋ ๊ณณ์ด๋ค(์ธ์๋ฅผ ๋ฃ๋๋ค)
x๋ฅผ ๋งค๊ฐ๋ณ์(Parameter), ํจ์ ์์๋ y๋ผ๋ ๋ณ์๋ฅผ ๋ง๋ ๋ค x์ +1์ ๋ํ๋ผ ๋์ด์๋ค.
return์ y๊ฐ(๋ณ์)์ ๋ฐ๊นฅ์ผ๋ก ๋ด๋ณด๋ด๊ณ ํจ์๋ฅผ ์ข ๋ฃํ๋ผ๋ ๊ฒ์ด๋ค.
์ฆ x๊ฐ์ ๋ฐ์ 1์ ๋ํ ํ ๋ฐ๊นฅ์ผ๋ก ๋ด๋ณด๋ด๋ผ๋ ๊ฒ์ด๋ค. ์ด๊ฒ์ ๋ฐํ์ด๋ผ๊ณ ํ๋ค.
์ด๋ ๊ฒ ๋ฏธ๋ฆฌ ๋ง๋ค์ด๋ ํจ์๋ฅผ ์คํํ๋ ํ์๋ฅผ ํธ์ถํ๋ค๋ผ๊ณ ํํํ๋ค
ํธ์ถ์ ํตํด ๋ฐํํ๋๊ฐ(y)๋ฅผ ์ ์ฅํ ๊ทธ๋ฆ(๋ณ์)์ ํ๋ ๋ง๋ค์ด์ค๋ค
์๋์์ ํธ์ถํ๋ ๊ฒ์ add(1);
var i = add(1);
i; // 2
1(์ธ์)์ ๋ฃ์ผ๋ฉด 1์ด ๋งค๊ฐ๋ณ์x๋ก ์ ๋ฌ->ํจ์ ๋ด๋ถ ์ฝ๋ ์คํ->1+1 -> return์ ์ํด y๊ฐ(2) ๋ฐํ -> i์ y๊ฐ์ธ 2๊ฐ ์ ์ฅ
- ํธ์ถํ ์ฝ๋์ ์๋ ์ธ์๊ฐ ํจ์ ์ ์๋ฌธ์ ์ธ์์ ๋์ ๋๋ค.
- ํจ์ ์ ์๋ฌธ์ ์ค๊ดํธ ์์ ์์ฑ๋ ํ๋ก๊ทธ๋จ์ด ์์ฐจ์ ์ผ๋ก ์คํ๋๋ค.
- return ๋ฌธ์ด ์คํ๋๋ฉด ํธ์ถํ ์ฝ๋๋ก ๋์๊ฐ๋ค.์ด๊ฒ์ ๋ฐํ๊ฐ์ด ๋๋ค.
- return ๋ฌธ์ด ์คํ๋์ง ์์ ์ํ๋ก ๋ง์ง๋ง ๋ฌธ์ฅ์ด ์คํ๋๋ฉด, ํธ์ถํ ์ฝ๋๋ก ๋์๊ฐ ํ์ undefined ํจ์๊ฐ ๋ฐํ๊ฐ์ด ๋๋ค.
ํจ์ ์ค์๋ return ํ์ง ์๋ ํจ์๋ ์๋ค
์์
var dateChecker = function() {
var date = new Data();
alert(data);
};
dateChecker(); // undefined๊ฐ ๋์ด
์ฝ์ ์ฐฝ์ ์คํ์ ์ํค๋ฉด undefined๊ฐ ํ์๋๋ค.
์ด๊ฒ์ dateCheckerํจ์์ return๊ฐ์ด๋ค.
๋ชจ๋ ํจ์๋ return์ ์ ๋ ฅํ์ง ์์ผ๋ฉด ์๋์ผ๋ก undefined๊ฐ ๋์ํ๋ค
๋ํ return ์ดํ์๋ ํจ์๊ฐ ์ข ๋ฃ๋์ด ์ํ๋์ง ์๋๋ค.
์์)
var really = function() {
return; //๋ฆฌํด์คํ
alert('์คํ๋์ง์์ต๋๋ค'); //return๋ณด๋ค ๋ค์ ์๊ธฐ ๋๋ฌธ์ ๋ฌด์๋๋ค
};
really();