๐ก ํจ์ ์ ์ธ๋ฌธ : ์ ์ธ๋ฌธ ์ด์ ์ ํธ์ถ ๊ฐ๋ฅ, ํจ์ ํธ์ด์คํ , ํจ์ ๊ฐ์ฒด ์ด๊ธฐํ
๐ก ํจ์ ํํ์ : ํํ์ ์ด์ ์ ํธ์ถ ๋ถ๊ฐ๋ฅ, ๋ณ์ ํธ์ด์คํ , undefined ์ด๊ธฐํ
ํจ์ ์์ฑ ์์ ๊ณผ ํจ์ ํธ์ด์คํ
ํจ์ ์ ์ธ๋ฌธ
function add(x, y) {
return x + y;
}
- ํจ์ ๊ฐ์ฒด๋ก ์ด๊ธฐํ
- ํจ์ ์ ์ → ๋ฐํ์ ์ด์ ํจ์ ๊ฐ์ฒด๊ฐ ๋จผ์ ์คํ (์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ํจ์ ์ด๋ฆ๊ณผ ๋์ผํ ์ด๋ฆ์ ์๋ณ์๋ฅผ ์๋ฌต์ ์ผ๋ก ์์ฑ, ์์ฑ๋ ํจ์ ๊ฐ์ฒด๋ฅผ ํ ๋น)
- ์ ์ธ๋ฌธ ์ด์ ์ ํธ์ถํ๋ฉด ํจ์ ํธ์ด์คํ ์ ์ํด ํธ์ถ์ด ๊ฐ๋ฅ
ํจ์ ํํ์
var sub = function add(x, y) {
return x + y;
}
- undefined๋ก ์ด๊ธฐํ
- ๋ณ์ ์ ์ธ์ ๋ฐํ์ ์ด์ ์ ์คํ๋์ด undefined๋ก ์ด๊ธฐํ
- ๋ณ์ ํ ๋น๋ฌธ์ ๊ฐ์ ํ ๋น๋ฌธ์ด ์คํ๋๋ ์์ , ์ฆ ๋ฐํ์์ด ํ๊ฐ๋๋ฏ๋ก ํจ์ ํํ์์ ํจ์ ๋ฆฌํฐ๋๋ ํ ๋น๋ฌธ์ด ์คํ๋๋ ์์ ์ ํ๊ฐ๋์ด ํจ์ ๊ฐ์ฒด๊ฐ ๋๋ค.
- ํํ์ ์ด์ ์ ์ฐธ์กฐํ๋ฉด ๋ณ์ ํธ์ด์คํ ์ ์ํด undefined๋ก ํ์ ์๋ฌ ๋ฐ์ํ์ฌ ์ฐธ์กฐ ๋ถ๊ฐ๋ฅ
- ํจ์ ํํ์ ์ดํ ์ฐธ์กฐ๋ ํธ์ถํด์ผ ํ๋ค.
- ๋ณ์์ ํ ๋น๋๋ ๊ฐ์ด ํจ์ ๋ฆฌํฐ๋ด์ธ ๋ฌธ์ด๋ค.
- ํจ์ ํํ์์ ์ฌ์ฉํ๋ ๊ฒ์ ๊ถ์ฅ
- ํจ์ ์ ์ธ๋ฌธ์ ์ฌ์ฉํ๋ฉด ์ ์ธ ์ ์ ํธ์ถ์ด ๊ฐ๋ฅํด์ ํจ์๋ฅผ ํธ์ถํ๊ธฐ ์ ์ ๋ฐ๋์ ํจ์๋ฅผ ์ ์ธํด์ผ ํ๋ค๋ ๊ท์น์ด ๋ฌด์๋๋ ๊ฒฝ์ฐ๊ฐ ์๊ธฐ ๋๋ฌธ์ด๋ค.
ํจ์ ํธ์ด์คํ ๊ณผ ๋ณ์ ํธ์ด์คํ
๋์ผ์
๋ฐํ์ ์ด์ ์ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ์ํด ๋จผ์ ์คํ๋์ด ์๋ณ์๋ฅผ ์์ฑํ๋ค.
์ฐจ์ด์
- ๋ณ์(var) ํธ์ด์คํ ์ undefined๋ก ์ด๊ธฐํ
- ํจ์ ํธ์ด์คํ ์ ํจ์ ๊ฐ์ฒด๋ก ์ด๊ธฐํ
ํจ์ ์ ์ธ๋ฌธ์ผ๋ก ์ ์ํ ํจ์๋ ํจ์ ์ ์ธ๋ฌธ ์ด์ ์ ํธ์ถํ ์ ์๊ณ ํจ์ ํํ์์ผ๋ก ์ ์ํ ํจ์๋ ํจ์ ํํ์ ์ด์ ์ ํธ์ถํ ์ ์๋ค. ์ด๋ ํจ์ ์ ์ธ๋ฌธ๊ณผ ํจ์ ํํ์์ ์์ฑ ์์ ์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ด๋ค.
ํจ์ ๋ฆฌํฐ๋ด
- ๋ฆฌํฐ๋ด : ์ฌ๋์ด ์ดํดํ ์ ์๋ ๋ฌธ์ ๋๋ ์ฝ์๋ ๊ธฐํธ๋ฅผ ์ฌ์ฉํด ๊ฐ์ ์์ฑํ๋ ํ๊ธฐ๋ฒ์ ๋งํ๋ค.
- ์๋ฐ์คํฌ๋ฆฝํธ์ ํจ์๋ ๊ฐ์ฒด ํ์ ์ ๊ฐ์ด๋ค.
- ํจ์ ๋ฆฌํฐ๋ด์ ๊ตฌ์ฑ์์
- ํจ์ ์ด๋ฆ์ ํจ์ ๋ชธ์ฒด ๋ด์์๋ง ์ฐธ์กฐํ ์ ์๋ ์๋ณ์๋ค.
- ํจ์ ๋ฆฌํฐ๋ด์ ํจ์ ์ด๋ฆ์ ์๋ตํ ์ ์๋ค.
- ์ฐธ๊ณ ) ํจ์ ์ ์ธ๋ฌธ๊ณผ ํท๊ฐ๋ฆฌ์ง ๋ง ๊ฒ, ํจ์ ๋ฆฌํฐ๋ด์ ๊ฐ์ ์์ฑํ๊ธฐ ์ํ ํ๊ธฐ๋ฒ์ด๋ค.
'Frontend > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์์ ๊ฐ๊ณผ ๊ฐ์ฒด์ ๋น๊ต (0) | 2024.03.14 |
---|---|
์ ์ฌ ๋ฐฐ์ด ๊ฐ์ฒด, ์ดํฐ๋ฌ๋ธ, ๋ํผ ๊ฐ์ฒด (0) | 2024.03.13 |
ํจ์ ์ ์ (ํจ์ ์ ์ธ๋ฌธ, ํจ์ ํํ์) (0) | 2024.03.07 |
ํธ์ด์คํ (hoisting) (0) | 2024.03.05 |
var, let, const ์ฐจ์ด (0) | 2024.03.03 |