본문 바로가기
코딩 공부/JavaScript

[JS] 일급객체와 일급함수

by 현장 2022. 10. 31.

일급객체(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