728x90
반응형
자바 스크립트에서 함수는 일급 객체로 취급되므로 세 가지 조건을 만족한다.
이것은 함수를 변수에 할당하고, 다른 함수의 인자로 전달하며 함수의 반환 값으로 사용할 수 있다는 의미이다.
1) 변수에 할당(Assignable)
함수는 변수에 할당할 수 있다. 함수를 다른 변수나 상수에 저장할 수 있다.
const greet = function(name) {
return `Hello, ${name}!`;
};
const myFunction = greet;
console.log(myFunction('John')); // 출력: Hello, John!
2) 객체의 인자로 전달 (Pass as an argument)
함수는 다른 함수에 매개변수로 전달할 수 있다. 함수를 인자로 받는 고차 함수를 만들거나 콜백함수로 사용할 수 있다.
function calculate(operation, a, b) {
return operation(a, b);
}
function add(x, y) {
return x + y;
}
console.log(calculate(add, 5, 3)); // 출력: 8
3) 객체의 반환값으로 사용(Return from a function)
함수는 다른 함수에서 반환값으로 사용할 수 있다. 함수가 동적으로 생성되어 반환될 수 있다.
function multiplier(factor) {
return function(x) {
return x * factor;
};
}
const multiplyByTwo = multiplier(2);
console.log(multiplyByTwo(5)); // 출력: 10
이러한 특성들은 함수를 일급 객체로 만들어 프로그래밍에서 더 큰 유연성과 표현력을 제공하며 더 다양한 상황에서 활용할 수 있게 된다.
728x90
반응형
'STUDY > JavaScript' 카테고리의 다른 글
JavaScript 변수 호이스팅과 함수 호이스팅 (0) | 2023.12.15 |
---|---|
JavaScript 변수 특징과 유형 (0) | 2023.12.15 |
JavaScript 콜백함수 콜백 유형 (0) | 2023.12.01 |
화살표 함수의 특징과 사용을 피해야 할 때 (0) | 2023.12.01 |
비동기 처리를 위한 Promise (0) | 2023.11.25 |