function ν¨μλͺ
(맀κ°λ³μ1, 맀κ°λ³μ2 ..){
ν¨μκ° νΈμΆλμμ λ μ€νν λ¬Έμ₯;
...
return κ°;
}
//νΈμΆν λ
ν¨μλͺ
(κ°1, κ°2, κ°3);
let λ³μλͺ
= function(맀κ°λ³μ1, 맀κ°λ³μ2 ..){
ν¨μκ° νΈμΆλμμ λ μ€νν λ¬Έμ₯;
...
return κ°;
}
//νΈμΆν λ
λ³μλͺ
(κ°1, κ°2 ..);
λκ°μ§ λ°©λ²μ μ°¨μ΄μ μ μκ³ μΆλ€λ©΄ νΈμ΄μ€ν κ²μλ¬Όμ νμΈνμΈμ!
const ν¨μμ΄λ¦ = (맀κ°λ³μ1, 맀κ°λ³μ2..) =>{
ν¨μκ° νΈμΆλμμ λ μ€νν λ¬Έμ₯;
...
return κ°;
}
function print(num){
if(num<0){
return;
}
console.log(num);
}
print(10)
맀κ°λ³μμ μ무κ°λ λ£μ§ μλλ€λ©΄, undefinedλ‘ μ μ© λ©λλ€.
function total(num1,num2){
console.log(num1);
console.log(num2);
return num1 + num2;
}
total(); //num1: undefined num2: undefined
λ§μ½ undefinedλ‘ μ μ λλ κ²μ΄ μ«λ€λ©΄ defaultκ°μ μ€μ ν΄λ μ μμ΅λλ€.
function total2(num1=0,num2=0){
console.log(num1);
console.log(num2);
return num1 + num2;
}
total2(); //num1: 0 num2: 0
νλ‘κ·Έλλ°μμ μ½λ°±(callback) λλ μ½λ°± ν¨μλ λ€λ₯Έ μ½λμ μΈμλ‘μ λ겨주λ μ€ν κ°λ₯ν μ½λλ₯Ό λ§ν©λλ€.
μ½λ°±μ λ겨λ°λ μ½λλ μ΄ μ½λ°±μ νμμ λ°λΌ μ¦μ μ€νν μλ μκ³ , μλλ©΄ λμ€μ μ€νν μλ μμ΅λλ€.
μ½λ°±ν¨μ
(ex)
const calc_add = (a,b) => a + b;
const calc_multifly = (a,b) => a * b;
function calculator(num1, num2, action){
//λ°©μ΄μ½λ: μνμ§ μλ κ²°κ³Όκ° λμ€λ κ²μ λ°©μ§
if(num1 < 0 || num2 < 0){
return;
}
const result = action(num1,num2);
console.log(result);
return result;
}
calculator(4, 2, calc_add); //calculatorμͺ½μΌλ‘ calc_add λ©λͺ¨λ¦¬ μ£Όμλ₯Ό 보λΈλ€.
calculator(4, 2, calc_multifly);
μ¬κΈ°μ actionμ΄ μλ λ€λ¦μ΄λ¦μ μ¨λ μκ΄μμ΅λλ€!
μμκ°: κ°μ μν 볡μ¬
κ°μ²΄κ°: μ°Έμ‘°μ μν 볡μ¬(λ©λͺ¨λ¦¬ μ£Όμ)
ν¨μλ₯Ό λ§λ€λ κ°μ²΄κ°μ λ°κΎΈμ§ μλλ‘ μ£Όμν΄μΌν©λλ€.
(ex)
function display(num){
num = 10;
console.log(num);
}
const value = 5;
display(value); // 10 κ°μ μν 볡μ¬
console.log(value); // 5
// μμvalueκ°μ λ³νλ μμ΅λλ€.
function displayObj(obj){
obj.age = 12; //βββ μ£Όμ βββ
console.log(obj);
}
const dog = {name:'루μ', age:13};
displayObj(dog); //{ name: '루μ', age: 12 }
console.log(dog); //{ name: '루μ', age: 12 }
// dogμ propertyκ° μꡬμ μΌλ‘ λ³νκ² λ©λλ€.
// μ€λΈμ νΈλ₯Ό 볡μ¬ν΄μ κ°μ λ°κΎΈκ³ μΆλ€λ©΄ λ€μκ³Ό κ°μ΄ returnκ°μ μ΄μ©νλ©΄ μ’μ΅λλ€.
function changeAge(obj){
return { ...obj, age: 16};
}
dog2 = changeAge(dog);
console.log(dog2) //{ name: '루μ', age: 16 }