- JavaScript에서 함수는 1급 객체입니다.
- 1급 객체란, 다른 값처럼 자유롭게 다룰 수 있는 객체를 말합니다.
이게 무슨 뜻?
// 1. 함수는 변수에 저장 가능
const sayHello = function () {
console.log("Hello!");
};
sayHello(); // 출력: Hello!
// 2. 함수는 다른 함수의 인자로 전달 가능
function callFunction(func) {
func(); // 전달받은 함수 실행
}
callFunction(sayHello); // 출력: Hello!
// 3. 함수는 다른 함수의 반환값으로 사용 가능
function createGreeting() {
return function () {
console.log("Hi there!");
};
}
const greeting = createGreeting();
greeting(); // 출력: Hi there!
- 키-값 쌍으로 데이터를 저장하는 구조.
- 사람의 정보를 저장하려고 할 때, 이름, 나이, 직업 등을 묶어서 하나로 표현하는 것이 객체.
// 객체 생성
const person = {
name: "Alice", // 키: name, 값: "Alice"
age: 25, // 키: age, 값: 25
job: "Developer", // 키: job, 값: "Developer"
};
// 객체 사용
console.log(person.name); // 출력: Alice
console.log(person.age); // 출력: 25
// 키-값 추가
person.country = "USA";
console.log(person.country); // 출력: USA
// 함수도 값이 될 수 있음
person.sayHello = function () {
console.log("Hello, I'm " + this.name);
};
person.sayHello(); // 출력: Hello, I'm Alice
1급 객체:
Object(객체):