yongfront 2024. 2. 2. 12:14
반응형
SMALL

일급 객체(First-Class Object)는 프로그래밍 언어에서 다음의 세 가지 조건을 모두 충족하는 객체를 가리킵니다:

  1. 변수에 할당 가능(Assignable): 일급 객체는 변수에 할당할 수 있어야 합니다. 즉, 객체를 변수에 저장하거나 함수의 매개변수로 전달할 수 있어야 합니다.
  2. 함수의 매개변수로 전달 가능(Passable as a Parameter): 일급 객체는 함수의 매개변수로 전달할 수 있어야 합니다. 함수 내에서 다루거나 조작할 수 있어야 합니다.
  3. 반환 값으로 사용 가능(Returnable): 일급 객체는 함수의 반환 값으로 사용할 수 있어야 합니다. 다른 함수 내에서 반환되거나, 다른 함수에 의해 생성될 수 있어야 합니다.

JavaScript에서는 함수가 일급 객체로 취급됩니다. 이것은 JavaScript에서 함수를 변수에 할당하고, 함수를 다른 함수의 인자로 전달하며, 함수를 반환하는 함수를 생성할 수 있음을 의미합니다. JavaScript에서 함수는 일급 함수(First-Class Function)라고도 합니다.

예제:

// 1. 변수에 할당 가능
const add = function(a, b) {
  return a + b;
};

// 2. 함수의 매개변수로 전달 가능
function calculate(func, x, y) {
  return func(x, y);
}

const result = calculate(add, 3, 5); // 8

// 3. 반환 값으로 사용 가능
function createMultiplier(factor) {
  return function(x) {
    return x * factor;
  };
}

const double = createMultiplier(2);
const triple = createMultiplier(3);

console.log(double(4)); // 8
console.log(triple(4)); // 12

위의 예제에서 함수가 변수에 할당되고, 함수의 매개변수로 전달되며, 함수를 반환하는 예제를 볼 수 있습니다. 이러한 특성은 함수형 프로그래밍과 콜백 함수(callback function)을 사용하는 등의 고급 프로그래밍 패턴을 구현하는 데 매우 유용하며, JavaScript를 유연하게 다룰 수 있게 합니다.

728x90
반응형
LIST