자바스크립트에서 함수는 일급 객체(First-Class Object)라고 하며, 일급객체란 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 의미한다. 즉, 함수를 객체처럼 여러가지 방식으로 다룰 수 있다!
변수에 함수를 할당할 수 있다
const sayHello = function() {
console.log("Hello");
}
함수를 다른 함수의 인자로 전달할 수 있다
const sayHello = function() {
console.log("Hello");
}
function callFunction(func) {
func();
}
callFunction(sayHello); // Hello 출력
- 콜백함수: 매개함수로 쓰이는 함수
- 고차함수: 함수를 인자로 받거나 return 하는 함수
더보기
// 함수를 return 하는 예시
function createAdder(num) {
return function(x) {
return x + num;
};
}
const addFive = createAdder(5);
// addFive에 아래와같은 함수가 대입됨
// function(x) { return x + 5; }
console.log(addFive(10)); // 15
함수는 객체의 value가 될 수 있다
const person = {
name: 'Kim',
sayHello: function() {
console.log(`Hello, My name is ${this.name}.`);
},
}
person.sayHello(); // Hello, My name is Kim.
함수는 배열의 요소가 될 수 있다
const myArr = [
function (a, b) {
return a + b;
},
function (a, b) {
return a - b;
},
];
console.log(myArr[0](1, 3)); // 4
'JavaScript' 카테고리의 다른 글
[JavaScript] 깊은 복사와 얕은 복사 (0) | 2024.07.23 |
---|---|
[JavaScript] Map과 Set (0) | 2024.07.22 |
[JavaScript] ES6 추가 문법들 (0) | 2024.07.22 |
[JavaScript] 객체 메서드와 객체 비교 (0) | 2024.07.22 |
[JavaScript] 삼항연산자와 단축평가 활용하기 (조건부실행, 기본값지정) (1) | 2024.07.22 |