728x90
๋ฐ์ํ
๐ก ์ค์ต ํฌ์ธํธ!
๐ default parameter
๐ค ๊ธฐ๋ณธ ํจ์ ์คํ์ผ
function add(a, b) {
console.log(a + b);
}
add(1, 2); // 3
๐ค JavaScript ํจ์์ ํน์ฑ
function add1(a, b) {
console.log(a);
}
add1(1); // 1
- ํ๋ผ๋ฏธํฐ๊ฐ 2๊ฐ์ฌ๋ ํจ์ ๋ด์์ ์ฌ์ฉํ ํ๋ผ๋ฏธํฐ๊ฐ a ํ๋๋ผ๋ฉด, ์ค์ ๋ก ํจ์๋ฅผ ์ฌ์ฉํ ๋ ํ๋ผ๋ฏธํฐ ํ๋๋ง ๋ฃ์ด๋ ์๋ฌ๊ฐ ๋ฐ์ํ์ง ์๋๋ค.
๐ค default parameter ์์๋ณด๊ธฐ
function add2(a, b = 10) {
console.log(a + b);
}
add2(); // NaN
add2(1); // 11
add2(1, 2); // 3
- ํ๋ผ๋ฏธํฐ์ ๊ฐ์ ์ ๋ ฅํ์ง ์์์ ๋ ๊ธฐ๋ณธ์ผ๋ก ์ฌ์ฉํ๋ ๊ฐ์ default parameter ๋ผ๊ณ ํ๋ฉฐ ๋ฑํธ๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค.
function add3(a, b = 2 * 5) {
console.log(a + b);
}
add3(1); // 11
- default parameter ์๋ ์ซ์ ์ธ์ ์ํ ์ฐ์ฐ์๋ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค.
function add4(a, b = 5 * a) {
console.log(a + b);
}
add4(1); // 6
- default parameter ์๋ ์ซ์ ์ธ์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ฌํ์ฉํ์ฌ ์ฐ์ฐ๋ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค.
function tempfunc() {
return 20;
}
function add5(a, b = tempfunc()) {
console.log(a + b);
}
add5(1); // 21
- default parameter ์๋ ํจ์ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค.
๐ arguments
๐ค arguments ์์๋ณด๊ธฐ
function func(a, b, c) {
console.log(arguments);
}
func(1, 2, 3); // Arguments(3) [1, 2, 3, callee: ƒ, Symbol(Symbol.iterator): ƒ]
- ๋ชจ๋ ํ๋ผ๋ฏธํฐ๋ฅผ ํ๊บผ๋ฒ์ ๋ค๋ฃจ๊ณ ์ถ์ ๊ฒฝ์ฐ arguments ๋ฅผ ์ฌ์ฉํ๋ค.
function func1(a, b, c) {
console.log(arguments[0], arguments[1], arguments[2]);
}
func1(1, 2, 3); // 1 2 3
- arguments ๋ ๋ชจ๋ ํ๋ผ๋ฏธํฐ๋ค์ array ์ ์ ์ฌํ๊ฒ ๋ง๋ค์ด์ค๋ค.
function func2(a, b, c) {
for (let i = 0; i < arguments.length; i++) {
console.log(arguments[i]);
}
}
func2(1, 2, 3); // 1 2 3 ์ด ์ฝ์์ฐฝ์ ํ ์ค์ฉ ์ถ๋ ฅ!
- ์ ๋ ฅํ ํ๋ผ๋ฏธํฐ๋ฅผ ์์ฝ๊ฒ ์ฝ์์ฐฝ์ ๊ฐ๊ฐ ์ถ๋ ฅํด์ฃผ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค.
728x90
๋ฐ์ํ
'[๊ฐ๋ฐ] Practice > JavaScript ES6' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript / ES6] Rest parameter (0) | 2022.04.22 |
---|---|
[JavaScript / ES6] Spread Operator (0) | 2022.04.21 |
[JavaScript / ES6] Template literals ์์๋ณด๊ธฐ (0) | 2022.04.12 |
[JavaScript / ES6] ๋ณ์ ์ฐ์ต๋ฌธ์ ํ๊ธฐ (0) | 2022.04.11 |
[JavaScript / ES6] ๋ณ์ ์ ๋ฌธ๋ฒ ์ด์ ๋ฆฌํ๊ธฐ_2 (0) | 2022.04.11 |