반응형
SMALL
일급 객체(First-Class Object)는 프로그래밍 언어에서 다음의 세 가지 조건을 모두 충족하는 객체를 가리킵니다:
- 변수에 할당 가능(Assignable): 일급 객체는 변수에 할당할 수 있어야 합니다. 즉, 객체를 변수에 저장하거나 함수의 매개변수로 전달할 수 있어야 합니다.
- 함수의 매개변수로 전달 가능(Passable as a Parameter): 일급 객체는 함수의 매개변수로 전달할 수 있어야 합니다. 함수 내에서 다루거나 조작할 수 있어야 합니다.
- 반환 값으로 사용 가능(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
'javascript > 모던 자바스크립트 Deep Dive' 카테고리의 다른 글
const 키워드의 객체 (0) | 2024.02.02 |
---|---|
호이스팅 (0) | 2024.02.02 |
ECMAScript 에서의 공유에 의한 전달 (1) | 2024.02.02 |
옵셔널 체이닝 (1) | 2024.02.02 |
동적 타입 언어와 정적 타입 언어 (0) | 2024.02.02 |