
# 함수를 만드는 방법
함수는 JavaScript 코드 블록을 감싸는 구조로, 일련의 작업을 수행하고 결과를 반환하는데 사용할 수 있습니다.
함수는 다음과 같이 정의할 수 있습니다:
function functionName(parameters) {
// 실행할 코드
return value;
}
# 함수 호출
함수를 사용하려면, 함수의 이름을 사용하여 함수를 호출해야 합니다.
함수 호출 시 필요한 인수를 전달할 수 있습니다:
예:
functionName(arguments);
# 함수 매개변수 및 인수
함수 매개변수는 함수를 호출할 때 전달되는 입력 값을 나타내는 변수입니다.
아래는 함수 매개변수의 예입니다:
function add(a, b) {
return a + b;
}
함수를 호출할 때, 전달되는 입력 값을 인수라고 합니다.
아래는 함수 호출과 인수의 예입니다:
var result = add(1, 2); // result는 3
이 경우, 함수 add는 매개변수 a와 b를 받고, 그 값을 더한 결과를 반환합니다.
함수를 호출할 때, 인수 1과 2가 매개변수 a와 b에 각각 할당되고, 함수의 실행 결과인 3이 변수 result에 할당됩니다.
# 반환 값(return)
함수는 결과를 반환할 수 있습니다.
return 키워드를 사용하여 결과를 반환할 수 있습니다.
함수가 호출되면, 호출된 위치에 함수의 반환 값이 전달됩니다.
# 익명 함수
익명 함수는 이름이 없는 함수입니다.
익명 함수는 변수에 할당하거나 즉시 호출할 수 있습니다.
아래는 익명 함수의 예입니다:
var anonymousFunction = function(parameters) {
// 실행할 코드
return value;
};
// 또는
(function(parameters) {
// 실행할 코드
return value;
})(arguments);
# 고차 함수
고차 함수는 함수를 매개변수로 받거나 함수를 반환하는 함수입니다.
이는 JavaScript의 함수형 프로그래밍 기술에 대한 강력한 기능입니다.
고차 함수는 다른 함수를 조작하거나 새로운 함수를 만드는 데 사용될 수 있습니다.
아래는 고차 함수의 예입니다:
function higherOrderFunction(operation, num1, num2) {
return operation(num1, num2);
}
function add(a, b) {
return a + b;
}
function subtract(a, b) {
return a - b;
}
var result1 = higherOrderFunction(add, 5, 3); // 출력: 8
var result2 = higherOrderFunction(subtract, 5, 3); // 출력: 2
함수 higherOrderFunction은 매개변수 operation으로 계산 연산을 수행할 함수와, num1과 num2로 계산할 숫자를 받습니다.
그리고 함수 higherOrderFunction 내에서는 operation 함수를 호출하여 num1과 num2를 전달합니다.
함수 add와 subtract는 각각 두 숫자를 더하고 빼는 함수입니다.
결국 higherOrderFunction 함수를 호출할 때 add 함수와 5, 3을 전달하여 함수 higherOrderFunction의 내부에서 add 함수가 실행되고, 결과적으로 8이 반환됩니다.
또한 higherOrderFunction 함수를 다시 호출할 때 subtract 함수와 5, 3을 전달하여 함수 higherOrderFunction의 내부에서 subtract 함수가 실행되고, 결과적으로 2가 반환됩니다.