JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ (22)_ ๋งค๊ฐ๋ณ์ (๊ธฐ๋ณธ๊ฐ, arguments, ๋๋จธ์ง ๋ณ์, ์ด์์ ์ธ ํจ์?)
JS ๋ค๋ฃจ๋ ํจ์์ ๋งค๊ฐ๋ณ์์ ๋ํด์ ์ดํด๋ณด์. 1. ํจ์์ ๋งค๊ฐ๋ณ์ ๊ฐ์๋ณด๋ค ๋ง์ด ๊ฐ์ ์ ๋ฌํ ๊ฒฝ์ฐ ์์ 1) ๋ ๊ฐ์ ์ธ์๋ฅผ ๋ฐ๋ ํจ์์ด๋ค. function sum(a, b){ return a + b; } console.log( sum(1, 2), sum(1, 2, 3), sum(1, 2, 3, 4) ); >>> 3 3 3 ์์ ๊ฒฐ๊ณผ์ฒ๋ผ JS์์๋ ๋ค๋ฅธ ์ธ์ด์ ๋ค๋ฅด๊ฒ ํจ์ ์ ์ ์ ์ค์ ํ ๋งค๊ฐ๋ณ์์ ๊ฐ์๋ณด๋ค ๋ง์ด ๊ฐ์ ์ ๋ฌํ๋ ๊ฒฝ์ฐ ์์๋๋ก ๊ฐ์ ๋ฐ์ ํ ๋๋จธ์ง๋ ๋ฌด์ํ๋ฉฐ ์ค๋ฅ๋ฅผ ์ผ์ผํค์ง ์๊ณ ๊ฐ์ ๋ฐํํ๋ค. 2. ๊ธฐ๋ณธ๊ฐ ๊ธฐ๋ณธ๊ฐ(default parameter)์ ๋งค๊ฐ๋ณ์์ ๊ฐ์ด ๋ค์ด์ค์ง ์์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ์ ์ค์ ํด์ฃผ๋ ๊ฒ์ด๋ค. function sum(a = 0, b = 0){ return a + ..
2023. 3. 12.
JS_๊ธฐ์ (1)_ ์ปค๋ง(currying)
JS์ ์กด์ฌํ๋ ์ปค๋ง์ ๋ํด์ ์์๋ณด์. 1. ์ปค๋ง์ด๋? ์ปค๋ง์ ํจ์์ ํจ๊ป ์ฌ์ฉํ๋ ๊ณ ๊ธ๊ธฐ์ ๋ก, JS ๋ฟ ์๋๋ผ ๋ค๋ฅธ ์ธ์ด์์๋ ์ฌ์ฉํ ์ ์๋ ๊ธฐ์ ์ด๋ค. ํ์ํ ์ธ์๋ณด๋ค ์ ์ ์์ ์ธ์๋ฅผ ๋ฐ์ผ๋ฉด, ๋๋จธ์ง ์ธ์๋ฅผ ์ธ์๋ก ๋ฐ๋ ๋ค๋ฅธ ํจ์๋ฅผ ๋ฐํํ๋ค. ์ฆ, ํ ํจ์๋ฅผ ์คํํ๊ธฐ ์ํด ํ์ํ ์ธ์๊ฐ ์์ง ๋ ์ค๋น ๋์์ ๊ฒฝ์ฐ ํ์ฌ ์กด์ฌํ๋ ์ธ์๋ฅผ ์ ์ฅํ๊ธฐ ์ํด์ ์ปค๋ง์ผ๋ก ์์ฑํ ์ ์๋ค. ์์ 1) ์๋๋ ์ผ๋ฐ์ ์ผ๋ก ํจ์๋ฅผ ์์ฑํ ๊ฒฝ์ฐ์ด๋ค. function mulTwoTerm (a, b, c, d) { return (a + b) * (c + d); } const mulTwoTerm2 = (a, b, c, d) => (a + b) * (c + d); console.log( mulTwoTerm(1, 2, 3, 4..
2023. 3. 11.