[JavaScript] 객체 생성방법

민승기·2023년 11월 4일
0

JavaScript

목록 보기
15/24
post-thumbnail

JavaScript에서 객체를 생성하는 여러 가지 방법

객체 리터럴

const person = {
    name: "tom",
    age: 20
};
  • 간단한 객체 생성방법. 쉽다.
  • 새로운 객체를 생성할 때마다 서로 독립적이다.

생성자 함수

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

const person = new Person("tom", 20);
  • new 키워드를 사용한다.
  • 생성자 함수 내부에서 this를 사용하여 객체 프로퍼티를 초기화 한다.
  • 프로토타입 체인을 통해 메서드를 공유할 수 있다.

Object 생성자 함수

const person = new Object();
person.name = "tom";
person.age = 20;
  • 빈 객체를 생성하고 필요할때마다 추가할 수 있다.
  • 잘 안써봐서 잘 모르겠....다...ㅠㅠ

클래스 (ES6 이상 가능)

class Person {
    constructor(name, age, job) {
        this.name = name;
        this.age = age;
    }
}

const person = new Person("tom", 20);
  • 지금 한참 공부하고있는 파트
  • ES6부터 도입되었다.
  • 클래스 내부에서 constructor 생성자 메서드를 사용하여 객체의 프로퍼티를 초기화 한다.
  • 프로토 타입을 통해 메서드 공유가 가능하다.

⭐️ Object.create() 메서드

const sayMyName = {
    sayName: function() {
        console.log(`My name is ${this.name} !! `);
    }
};
// person 객체는 sayMyName을 프로토타입으로 상속받아 sayName 메서드를 person에서도 사용이 가능
const person = Object.create(sayMyName);
person.name = "tom";
person.age = 20;
person.sayName();
  • 기존 객체를 프로토타입으로 사용한다.
  • 새롭게 만든 객체는 프로토타입 객체의 속성과 메서드를 상속받는다.
  • 객체가 생성된 이후에도 추가로 속성이나 메서드를 추가해서 사용이 가능하다.(동적)
  • 내가 주로 사용하는 방법은 객체 리터럴을 사용하는 방법이나 생성자 함수, 클래스를 이용한 방법이었는데
  • 여러가지 방법에 대해 생각해봤고 상황에 맞는 객체 생성을 하면 좋을 것 같다.
  • ES6부터 사용이 가능한 클래스의 경우에는 가독성이 좋고 클래스간의 상속이 가능하여 좋을것 같다.
profile
개발자를 꿈꾸는 늙은이👨🏻‍💻

0개의 댓글