자바스크립트 생성자 함수와 프로토타입 체인을 이용한 메서드 전달

생성자 함수로 객체 생성하기

자바스크립트에서 객체를 생성하는 일반적인 방법 중 하나는 생성자 함수를 사용하는 것입니다. 생성자 함수는 객체를 초기화하고, 속성을 설정하고, 메서드를 정의할 수 있는 기능을 제공합니다.

예를 들어, Person이라는 생성자 함수를 정의하고, nameage라는 속성을 갖는 객체를 초기화해보겠습니다.

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

const person1 = new Person('John', 28);
console.log(person1.name); // John
console.log(person1.age); // 28

프로토타입 체인을 이용한 메서드 전달하기

위의 예제에서 Person 생성자 함수는 nameage 속성을 초기화하는 역할을 합니다. 이번에는 sayHello라는 메서드를 생성자 함수에 추가하고, 이 메서드를 객체가 이용할 수 있도록 프로토타입 체인을 이용해 전달해보겠습니다.

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

Person.prototype.sayHello = function() {
  console.log('Hello, my name is ' + this.name);
};

const person1 = new Person('John', 28);
person1.sayHello(); // Hello, my name is John

Person.prototype을 사용하여 sayHello 메서드를 정의했습니다. 이제 person1 객체는 sayHello 메서드를 사용할 수 있습니다.

프로토타입 체인을 이용하면 생성자 함수로부터 생성된 모든 객체가 해당 메서드를 공유하게 됩니다. 이는 메모리를 절약하고 코드의 재사용성을 높일 수 있는 장점이 있습니다.

#javascript #prototypalinheritance