반응형
일급객체(First-class Object)
다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체
변수에 할당(Variable Assignment)
함수를 변수에 할당할 수 있으며, 이를 통해 함수를 다루는 변수에 다양한 함수를 할당할 수 있음
const greet = function(name) {
return `안녕, ${name}!`;
};
매개변수로 전달(Parameter Passing)
함수를 다른 함수의 매개변수로 전달할 수 있으며, 콜백 함수와 이벤트 처리 등 다양한 상황에서 사용
function saySomething(func, name) {
console.log(func(name));
}
saySomething(greet, 'Alice'); // 출력: "안녕, Alice!"
함수의 반환 값으로 사용(Return Value)
함수는 다른 함수의 반환 값으로 사용될 수 있으며, 클로저를 생성하거나 다른 함수를 동적으로 생성할 수 있음
function getGreetingFunction() {
return function(name) {
return `안녕, ${name}!`;
};
}
const greetFunc = getGreetingFunction();
console.log(greetFunc('Bob')); // 출력: "안녕, Bob!"
객체 속성으로 사용(Object Property)
함수를 객체의 속성으로 사용할 수 있으며, 이를 메서드(Method)라 부르고 객체 내에서 다른 속성과 함께 사용
const person = {
name: 'Alice',
sayHello: function() {
console.log(`안녕, 나는 ${this.name}이야.`);
}
};
person.sayHello(); // 출력: "안녕, 나는 Alice이야."
배열에 저장(Array Storage)
함수를 배열에 저장하고 배열에서 호출 할 수 있으며, 콜백 함수를 다루거나 함수를 동적으로 선택할 때 사용
const functions = [greet, someOtherFunction];
console.log(functions[0]('David')); // 출력: "안녕, David!"반응형
'backend > JavaScript' 카테고리의 다른 글
| 자바스크립트 데이터 타입 심화 (1) | 2023.10.20 |
|---|---|
| 자바스크립트 Map & Set (0) | 2023.10.20 |
| 자바스크립트 ES6 (1) | 2023.10.17 |
| 자바스크립트 객체와 배열 (0) | 2023.10.16 |
| 자바스크립트 반복문 (0) | 2023.10.13 |
