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 |