일급 객체 (일급 함수) 란?
프로그래밍 언어에서 함수를 값으로 다룰 수 있는 특성을 가진 함수를 말한다.
이는 함수를 변수에 할당하거나, 다른 함수의 인자로 전달하거나, 함수의 반환 값으로 사용 할 수 있는것을 의미한다.
일급함수를 가진 언어에서는 함수가 일반적인 데이터 타입처럼 취급 된다.
이는 함수를 생성하고 조작하고 전달하는 데, 좀 더 자유롭고 유연한 프로그래밍 스타일을 가능하게 한다.
1. 변수에 함수 할당
함수를 값으로 취급하여 변수에 할당 할 수 있다.
const add = function (a, b) {
return a + b;
};
2. 함수를 인자로 전달
함수를 다른 함수의 인자로 전달할 수 있다.
function calculate(operation, a, b) {
return operation(a, b);
}
console.log(calculate(add, 4, 2)); // 출력: 6
3. 함수를 반환값으로 사용
함수가 다른 함수의 반환 값으로 사용 할 수 있다.
function createMultiplier(factor) {
return function (number) {
return number * factor;
};
}
const double = createMultiplier(2);
console.log(double(5)); // 출력: 10
4. 자료 구조에 함수 저장
함수를 자료 구조에 저장하거나 다른 함수 내부에서 생성 할 수 있다.
const mathOperations = {
multiply: function (a, b) {
return a * b;
},
divide: function (a, b) {
return a / b;
}
};
console.log(mathOperations.multiply(3, 4)); // 출력: 12
함수를 값처럼 사용하여 유연하게 프로그래밍 할 수 있게 된다.
- 코드 재 사용성을 높일 수 있다.
- 콜백 함수를 다루는 상황에서 유용하게 쓸 수 있다.
- 함수형 프로그래밍 스타일에 적용 될 수 있다.
728x90
'STUDY > JavaScript' 카테고리의 다른 글
모던 자바스크립트 | 명시적 타입 변환 (0) | 2024.07.23 |
---|---|
모던 자바스크립트 | 암묵적 타입 변환 (0) | 2024.07.23 |
[TypeScript] Partial ,Pick , Omit 차이 (0) | 2023.02.02 |
[TypeScript] TypeScript 할때, DT와 TS의 차이! (별로 쓸데없음 주의) (0) | 2023.01.02 |
[JavaScript] Array.prototype.reduce() | 리듀서 함수 (0) | 2022.12.02 |
댓글