본문 바로가기
Javascript

JavaScript 객체에 대한 실무 활용예시

by Status Code 2024. 1. 10.

JavaScript 객체(Object)의 실무 활용 가이드

JavaScript 객체는 프로그래밍에서 매우 중요한 구성 요소입니다. 이 가이드에서는 기본적인 객체 생성부터 실무에서의 활용 패턴, 고급 주제까지 다룹니다.

기본적인 객체 생성과 사용

객체 리터럴 (Object Literal)

객체 리터럴은 가장 간단한 객체 생성 방식입니다.

let person = {
  name: "홍길동",
  age: 30,
  greet: function() {
    console.log("안녕하세요, " + this.name + "입니다.");
  }
};

person.greet(); // 출력: "안녕하세요, 홍길동입니다."

생성자 함수 (Constructor Function)

객체를 생성하기 위한 템플릿으로 사용됩니다.

function Person(name, age) {
  this.name = name;
  this.age = age;
}

Person.prototype.greet = function() {
  console.log("안녕하세요, " + this.name + "입니다.");
};

let person1 = new Person("이순신", 40);
person1.greet(); // 출력: "안녕하세요, 이순신입니다."

객체를 활용한 패턴

모듈 패턴 (Module Pattern)

캡슐화와 같은 개념을 구현할 때 사용됩니다.

let personModule = (function() {
  let name = "김유신";
  let age = 50;

  function privateFunction() {
    console.log("비공개 함수입니다.");
  }

  return {
    greet: function() {
      console.log("안녕하세요, " + name + "입니다.");
    }
  };
})();

personModule.greet(); // 출력: "안녕하세요, 김유신입니다."

실무에서 자주 사용되는 기법들

객체 확장 및 병합 (Object Spread)

ES6부터 지원되는 스프레드 연산자를 사용합니다.

let person = { name: "장보고", age: 60 };
let additionalInfo = { job: "해상왕", country: "고려" };

let extendedPerson = { ...person, ...additionalInfo };
console.log(extendedPerson); // 출력: { name: "장보고", age: 60, job: "해상왕", country: "고려" }

객체 비구조화 할당 (Object Destructuring)

객체의 속성을 변수로 쉽게 추출합니다.

let person = { name: "세종대왕", age: 70, job: "왕" };
let { name, age } = person;

console.log(name); // 출력: "세종대왕"
console.log(age); // 출력: 70

댓글