일급객체(First Class Object)
다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체입니다.
- 고차함수(Higher order function)를 만들 수 있다.
- 콜백(callback)을 사용할 수 있다.
조건
1. 변수에 할당(assignment)할 수 있다.
2. 다른 함수를 인자(argument)로 전달 받는다.
3. 다른 함수의 결과로서 리턴될 수 있다.
일급 함수
함수를 다른 변수와 동일하게 다루는 언어는 일급 함수를 가졌다고 표현합니다. 예를 들어, 일급 함수를 가진 언어에서는 함수를 다른 함수에 인수로 제공하거나, 함수가 함수를 반환할 수 있으며, 변수에도 할당할 수 있습니다. (JavaScript와 Python은 일급함수를 가진다.)
1. 변수 할당
// 변수에 할당
let test = function() {
console.log("test");
}
// 변수를 사용해 호출
test();
2. 함수를 인자로 전달
function testFn(){
return 'call testFn';
}
function testFn2(inFn){
console,log(inFn, 'testFn2');
}
3. 함수 반환
function testFn() {
return function() {
console.log("return funtion testFn");
}
}
'코딩 공부 > JavaScript' 카테고리의 다른 글
[JS] 브라우저 객체 (1) | 2022.11.01 |
---|---|
[JS] 예외처리 (0) | 2022.11.01 |
[JS] 내장 객체 (0) | 2022.10.31 |
[JS] 함수 (0) | 2022.10.20 |
[JS] 객체 (0) | 2022.10.14 |