<함수>
1. 변수에 함수를 할당하는 경우
const square = function(num){ // 변수 square에 함수 할당
return num * num
}
let output = square(5) // 함수가 할당된 변수 square를 통해 호출
console.log(output) // 25
1. 다른 함수를 인자로 받는 경우
function double(num){ //콜백 함수
return num * 2;
}
function doubleNum(func, num){ // 고차 함수
return func(num); // 콜백 함수 호출
}
let output = doubleNum(double, 5); // 함수를 전달인자로 넣어줌
console.log(output); // 10;
2. 함수를 리턴하는 경우
function adder(added){
return function (num){ // 함수를 리턴
return num + added
}
}
let output1 = adder(5)(4);
console.log(output); // 9
let output2 = adder(5);
output1 = output2(4);
console.log(output1) // 9
3. 함수를 인자로 받고, 함수를 리턴하는 경우
function double(num){
return num * 2;
}
function doubleAdder(added, func){
const doubled = func(added);
return function (num){
return num + doubled;
}
}
doubleAdder(5 ,double)(4); // 14
const addTwice3 = doubleAdder(2 ,double);
addTwice3(4) // 8