일급객체(First-class Object)란 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 가리킨다. [위키백과]
// 1. 변수에 함수를 할당할 수 있다.
// 함수가 마치 값으로 취급된다.
// 함수가 나중에 사용될 수 있도록 조치가 되었다.
const sayHello = function () {
console.log (`Hello!`);
};
// 2. 함수를 인자로 다른 함수에 전달할 수가 있다.
// 2-1. 콜백함수 : 매개변수로써 쓰이는 함수
// 2-2. 고차함수 : 함수를 인자로 받거나 return하는 함수
// 고차함수의 한 종류로 콜백함수가 있다.
const callFunction = function (func){
// 매개변수로 받은 변수가 함수이다.
func();
};
callFunction(sayHello); // callFunction의 매개변수로 sayHello이 전달되었다
// 3. 함수를 반환할 수 있다.
function createAdder(num) {
return function (x) {
return x + num
};
}
const addFive = createAdder(5);
// addFive = function (x) {
// return x + 5
// };
console.log(createAdder(5)); //[Function (anonymous)]
// 익명 함수를 반환하고 종료 되었다
console.log(addFive(10)); // 15
강의하시면서 함수가 매개변수로도 들어갈 수 있고 리턴값으로도 쓸 수 있고 재밌다고 하시는데 재밌지 않습니다 ... 머리 아파요
'오늘 뭐했냐 > 개발에 대한 주저리' 카테고리의 다른 글
Map (1) | 2023.05.24 |
---|---|
일급 객체로서의 함수 (2) (0) | 2023.05.24 |
es6(2) (0) | 2023.05.24 |
es6(1) - 구조분해할당(destructuring) (0) | 2023.05.24 |
for문 (0) | 2023.05.23 |