1급 객체와 object

김서현·2025년 1월 17일

frontend

목록 보기
18/34

1. 1급 객체 (First-class Object)

  • 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!

2. Object의 개념

  • 키-값 쌍으로 데이터를 저장하는 구조.
  • 사람의 정보를 저장하려고 할 때, 이름, 나이, 직업 등을 묶어서 하나로 표현하는 것이 객체.

객체의 기본 구조

  • 키(key): 데이터 이름.
  • 값(value): 데이터 내용.

예시 코드

// 객체 생성
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. 1급 객체:

    • 함수도 숫자나 문자열처럼 값처럼 사용 가능.
    • 변수에 저장, 전달, 반환이 자유롭다.
  2. Object(객체):

    • 키-값 쌍으로 데이터를 저장하는 구조.
    • 다양한 데이터를 묶어서 한 번에 관리할 수 있다!!
profile
한양대 학생입니다. 서울캠입니다.

0개의 댓글