Parameter and Argument
Table of contents
๋งค๊ฐ๋ณ์(Parameter)์ ์ ๋ฌ์ธ์(Argument)
์ข ์ข ๋งค๊ฐ๋ณ์(parameter)์ ์ ๋ฌ์ธ์(argument)๋ ์ ๋นํ ์์ด์ ์ฐ์ด๊ธฐ๋ ํ๋๋ฐ, ์ด ๊ฒฝ์ฐ ๋ฌธ๋งฅ์ ๋ฐ๋ผ ์๋ฏธ๋ฅผ ๋ฌ๋ฆฌํด์ ํด์๋๊ธฐ๋ ํ๋ค.
์ํค ๋ฐฑ๊ณผ์์๋ ์ธ๊ธํ๋ฏ, ์ ๋นํ ์์ด ์จ์ ํท๊ฐ๋ฆฌ๊ธฐ ์ฝ๋ค.
๋งค๊ฐ๋ณ์(Parameter)
// ํจ์ logger๋ param1, param2์ ๋งค๊ฐ๋ณ์๋ก ๊ฐ์ง๊ณ ์๋ค.function logger(param1, param2) {return console.log(param1, param2);}
์ผ๋ฐ์ ์ผ๋ก ํจ์์ ์ ๋ฌ๋๋ ๊ฐ์ ๋ฐ์๋๋ฆฌ๋ ๋ณ์, ์ ๋ฌ์ธ์(argument)๋ฅผ ๋ฐ์๋๋ฆฌ๋ ๋ณ์๋ฅผ ๋งํ๋ค.
๋ณดํต '์ธ์'๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํ์ง๋ง '์ธ์'๋ผ๊ณ ํํํ ๋๋ ์๋ค.
- ๋งค๊ฐ๋ณ์
- ์ธ์ยท์ธ์
- ํ๋ผ๋ฏธํฐ
์ ๋ฌ์ธ์(Argument)
function logger(param1, param2) {return console.log(param1, param2);}// ํจ์ logger๋ ์ฒซ ๋ฒ์งธ ๋งค๊ฐ๋ณ์์ธ param1์ ๋ฌธ์์ด 'argument'๋ฅผ ์ ๋ฌ ๋ฐ๊ณ , ๋ ๋ฒ์งธ ๋งค๊ฐ๋ณ์ param2์ ์ซ์ํ 1์ ์ ๋ฌ ๋ฐ๋๋ค.logger('argument', 1); // argument 1
์ผ๋ฐ์ ์ผ๋ก ํจ์์ ์ ๋ฌ๋๋ ๊ฐ, ๋งค๊ฐ๋ณ์(parameter)์ ์ ๋ฌ๋๋ ์ค์ ๊ฐ์ ๋งํ๋ค.
๋ณดํต '์ธ์'๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํ์ง๋ง '์ธ์'๋ผ๊ณ ํํํ ๋๋ ์๋ค.
- ์ ๋ฌ์ธ์
- ์ธ์ยท์ธ์
- ์๊ท๋จผํธ
์์งํ ๋งํ์๋ฉด
์์์ ์ฐฐ๋ก ๊ฐ์ด ์์๋ค์ด์ผ ํ๋ค.
๊ฐ์ ๋งํ๊ณ ์ ํ๋๊ฒ ๊ฐ๋ค๋ฉด ์ ๋ฌ์ธ์, ๊ฐ์ ๊ฐ๋ฅดํค๋ ๋ณ์ยท์๋ณ์๋ฅผ ๋งํ๊ณ ์ ํ๋๊ฒ ๊ฐ๋ค๋ฉด ๋งค๊ฐ๋ณ์์ด๋ค.
parameter๋ ๋งค๊ฐ๋ณ์์ธ๋ฐ '์ธ์'๋ผ๊ณ ์ง์นญํ ๋๊ฐ ๋ง๊ณ , argument๋ ์ ๋ฌ์ธ์์ธ๋ฐ '์ธ์'๋ผ๊ณ ๋ถ๋ฅด๊ณ ๊ทธ๋ฅ '์ธ์'๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํ๋ค. ๊ทธ๋ฌ๋ ๋ฌธ๋งฅ์์ ๊ฐ ์์ฒด๋ฅผ ๋งํ๊ณ ์ ํ๋์ง, ๊ฐ์ ๊ฐ๋ฅดํค๋ ๋ณ์๋ฅผ ๋งํ๊ณ ์ ํ๋์ง ํ์ ํ๋ ์ ๋ฐ์ ์๋ค.
๊ณต๋ถํ๊ฑธ ์ ๋ฆฌํ ๋ ์ธ์ยท์ธ์ ๋ณด๋ค๋ ๋งค๊ฐ๋ณ์ยท์ ๋ฌ์ธ์๋ก ๊ตฌ๋ถํด์ ์จ๋ณด๋ ๊ฒ์ ์ถ์ฒํ๋ค.
๊ฐ์ธ์ ์ผ๋ก๋ ๊ทธ๋ฅ ์์ด๋ฐ์ ๊ทธ๋๋ก ํ๋ผ๋ฏธํฐ, ์๊ท๋จผํธ๋ผ๊ณ ์ฝ๋๊ฒ ํธํ๊ฒ ๊ฐ๋ค.
์ ๋ฆฌ
- ๋งค๊ฐ๋ณ์(Parameter): ๋ณ์
- ์ ๋ฌ์ธ์(Argument): ๊ฐ
- ๋ฌธ๋งฅ์ ๋ฐ๋ผ ์์๋ค์ด์ผ ํ๋ค.
- ํท๊ฐ๋ฆฌ๋๊ฑด ์ด์ฉ ์ ์๋ค. ๊ดํ ์ง์ฐฉํ์ง ๋ง์