ν°μ€ν 리 λ·°
[JavaScript] ν¨μμ μΈμ(parameters)μ λνμ¬
10000COW 2022. 12. 20. 20:11ν¨μμ 맀κ°λ³μμ μ무κ²λ μ λ¬νμ§ μμΌλ©΄ μ΄λ»κ² λ κΉ?
aμ bλ₯Ό 맀κ°λ³μλ‘ λ°μ λ 맀κ°λ³μμ κ³±μ λ°νν΄μ£Όλ multiply ν¨μκ° μλ€κ³ κ°μ νμ.
λ§μ½ μλ μ½λμ²λΌ multiply ν¨μλ₯Ό νΈμΆνλλ° λ§€κ°λ³μλ₯Ό μ λ¬ν΄μ£Όμ§ μλλ€λ©΄ μΈμλ μ΄λ€ νμ μ κ°μ§κ² λ κΉ?
function multiply(a, b){
return a * b;
};
multiply();
맀κ°λ³μλ€μ΄ μ λ¬λμ§ μμ κ²½μ°, consoleμ κ° λ§€κ°λ³μλ€μ΄ μ΄λ»κ² λ°μμμ§λμ§ νμΈν΄λ³΄μ.
function multiply(a, b){
console.log(a); // undefined
console.log(b); // undefined
return a * b;
};
multiply();
μμ μ½λμ²λΌ 맀κ°λ³μκ° μ λ¬λμ§ μμ κ²½μ°, undefinedλ‘ μΆλ ₯λ¨μ μ μ μλ€.
console.log(multiply()); // NaN
μμ μ½λμ²λΌ ν¨μμ return κ°μ κ²½μ° NaNλ‘ μΆλ ₯λλ€.
ν¨μμ 맀κ°λ³μλ€μ ν¨μ λ΄λΆμμ μ κ·Όν μ μλ arguments κ°μ²΄κ° μ‘΄μ¬νλ€
function multiply(a, b){
console.log(a); // undefined
console.log(b); // undefined
console.log(arguments);
return a * b;
};
multiply(2, 4, 6);
μμ μ½λμ²λΌ multiply ν¨μμ 2,4,6μ 맀κ°λ³μλ‘ μ λ¬νλ€κ³ νλ©΄,
(multiply ν¨μμμλ λ§€κ° λ³μκ° 2κ°λ§ νμνλ―λ‘ 6μ 무μλλ€.)
multiply ν¨μ μμμλ arguments κ°μ²΄μ λ€μκ³Ό κ°μ΄ μ μ₯λλ€.
[Arguments] { '0': 2, '1': 4, '2': 6 }
λ°λΌμ arguments[0], arguments[1] λ± key κ°μ νμ©ν΄ μ λ¬λ 맀κ°λ³μμ μ κ·Όν μ μλ€.
Rest 맀κ°λ³μ(Rest Parameters)
λ§μ½ ν¨μμ λͺ κ°μ λ§€κ° λ³μκ° μ λ¬λ μ§ λͺ¨λ₯Έλ€λ©΄, Rest 맀κ°λ³μλ₯Ό μ¬μ©ν μ μλ€.
Rest 맀κ°λ³μλ ...맀κ°λ³μλͺ μ νμμΌλ‘ μ¬μ©ν μ μλ€.
function printMenu(...menus){
console.log(menus); // [ 'π', 'π', 'π', 'π' ]
}
printMenu('π', 'π', 'π', 'π');
μμλ‘ μμ λ©λ΄λ₯Ό μΆλ ₯ν΄μ£Όλ printMenu ν¨μκ° μλ€κ³ νμ λ,
λͺ κ°μ menuκ° μ λ¬λ μ§λ λͺ¨λ₯΄κΈ° λλ¬Έμ ...menus λΌκ³ 맀κ°λ³μλ₯Ό μ€μ ν΄λμ νμ,
ν¨μλ₯Ό νΈμΆν λ 맀κ°λ³μλ€μ μ λ¬ν΄μ£Όλ©΄ λλ€.
Rest λ§€κ° λ³μλ₯Ό μ¬μ©ν ν¨μμ λ°ν κ°μ λ°°μ΄ ννλ‘ λ°νλλ€.
[ 'π', 'π', 'π', 'π' ]
function print(pizza, fries, ...menus){
console.log(pizza); //π
console.log(fries); //π
console.log(menus); // [ 'π', 'π' ]
}
print('π', 'π', 'π', 'π');
μμ μ½λμ²λΌ νΉμ 맀κ°λ³μλ₯Ό μ€μ νκ³ , Rest 맀κ°λ³μλ₯Ό ν¨κ» μ¬μ©ν μλ μλ€.
'π¨ JavaScript > ν¨μ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JavaScript] ν¨μμ λΆλ³μ±(Immutability) μ΄λ? (0) | 2022.12.20 |
---|
- Total
- Today
- Yesterday
- leetcode
- mdn
- μλ°μ€ν¬λ¦½νΈ
- CSS
- error
- state
- useState
- Context API
- JavaScript
- μλ¬
- λ°μ΄ν°λ² μ΄μ€
- μλ£κ΅¬μ‘°
- BOJ
- DOM
- DB
- νμ΄μ¬
- React Query
- μκ³ λ¦¬μ¦
- github
- Python
- Browser
- ν¨μ
- Component
- git
- λΈλΌμ°μ
- μ λ ¬
- 리μ‘νΈ
- react
- κ·Έλν
- zustand
μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |