JavaScript/2주차

3. 일급 객체로서의 함수 1

tnals634 2023. 5. 23. 12:15

JS에서 함수는 일급객체라고 한다.

- 다른 객체들과 일반적으로 같다라고 생각하면 된다.

 

다른 프로그래밍 언어와 다르게 함수를 매우 유연하게 사용할 수 있다.

 

실습

일급객체로서의 함수

1. 변수에 함수를 할당 할 수 있다.

 - 특징

   - 함수가 마치 값으로 취급한다.

   - 함수가 나중에 사용될 수 있도록 조치가 되어있다.

const sayHello = function () {
    console.log("hello");
};

 

2. 함수를 인자로 다른 함수에 전달 할 수 있다.

 2-1. 콜백함수 : 매개변수로서 쓰이는 함수

 2-2. 고차함수 : 함수를 인자로 받거나 return하는 함수

function callFunc (func) {
    //매개변수로 받은 변수가 사실, 함수다.
    func();
}

const sayHello = function () {
    console.log("hello");
};

callFunc(sayHello);

 

3. 함수를 반환할 수 있다.

아래 코드를 해석해보자.

function createAdder(num) {
    return function (x) {
        return x+num;
    }
}

const addFive = createAdder(5);
console.log(addFive(10));

해석해보면 아래와 같다.

function createAdder(num) {
    return function (x) {
        return x+num;
    }
}

const addFive = createAdder(5);
//위의 코드를 해석해보면 아래와 같이 나온다.
const addFive = createAdder(function (x) {
    return x+5;
});
console.log(addFive(10));
//그리고 위 console을 해석해보면 아래와 같다.
console.log(addFive(function (10) {
        return 10+5;
    }));

 

 

 

 

 

'JavaScript > 2주차' 카테고리의 다른 글

6. Set 소개 및 예시코드 연습  (0) 2023.05.23
5. Map 소개 및 예시코드 연습  (0) 2023.05.23
4. 일급 객체로서의 함수 2  (0) 2023.05.23
2. ES6 문법 소개 및 실습 2  (0) 2023.05.23
1. ES6 문법 소개 및 실습 1  (0) 2023.05.23