프로토타입 객체의 속성을 변경하는 방법

프로토타입 객체의 속성을 변경하려면 프로토타입 객체에 접근하여 해당 속성을 변경해야 합니다. 다음은 예제 코드입니다.

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

Person.prototype.greet = function() {
  console.log("Hello, " + this.name);
};

var person1 = new Person("John");
person1.greet(); // 출력: Hello, John

Person.prototype.greet = function() {
  console.log("Hola, " + this.name);
};

var person2 = new Person("Alice");
person2.greet(); // 출력: Hola, Alice

위 예제에서는 Person이라는 생성자 함수를 정의하고, greet 메서드를 프로토타입 객체에 추가했습니다. 이후에 person1person2 인스턴스를 생성하고 greet 메서드를 호출했습니다.

greet 메서드의 정의를 변경하여 프로토타입 객체의 속성을 변경할 수 있습니다. person1.greet()은 “Hello, John”을 출력하지만, person2.greet()은 “Hola, Alice”를 출력합니다. 이는 속성을 변경하더라도 해당 객체와 그 이후에 생성되는 객체에만 영향을 미치기 때문입니다.

프로토타입 체인을 통해 객체의 속성을 변경하는 것은 유용한 패턴 중 하나입니다. 이를 통해 여러 객체가 동일한 메서드를 공유하고, 필요에 따라 해당 메서드를 변경할 수 있습니다.

더 자세한 설명과 자바스크립트의 프로토타입에 대해 더 알고 싶다면 아래의 참고 자료를 확인해보세요.