[javascript] 프로토타입 체인에서의 속성 유지 방법
자바스크립트에서 객체는 프로토타입을 가질 수 있습니다. 프로토타입은 객체 지향 프로그래밍에서 코드의 재사용을 위해 사용됩니다. 그러나 때로는 프로토타입에서 상속한 속성을 변경하지 않고 유지하는 것이 필요할 수 있습니다. 이때 몇 가지 방법을 사용할 수 있습니다.
1. Object.create를 사용하여 새로운 객체 생성
// 프로토타입 체인에서의 속성 유지
var parent = {
name: "Parent",
greet: function() {
return "Hello, " + this.name;
}
};
var child = Object.create(parent);
child.name = "Child";
console.log(child.greet()); // "Hello, Child"
위의 예제에서 Object.create
를 사용하여 새로운 객체 child
를 생성했습니다. 이를 통해 parent
객체의 속성을 변경하지 않고도 greet
함수를 사용할 수 있습니다.
2. Object.assign을 사용하여 속성 병합
// 프로토타입 체인에서의 속성 유지
var parent = {
name: "Parent",
age: 40
};
var child = {
name: "Child"
};
Object.assign(child, parent);
console.log(child.name); // "Child"
console.log(child.age); // 40
위의 예제에서 Object.assign
을 사용하여 parent
객체의 속성을 child
객체에 병합하여 속성을 유지했습니다.
결론
프로토타입 상속을 받은 객체의 속성을 유지하고자 할 때, Object.create
를 사용하여 새로운 객체를 생성하거나 Object.assign
을 사용하여 속성을 병합하는 방법을 사용할 수 있습니다.
이러한 방법을 통해 프로토타입 체인에서의 속성을 효과적으로 유지할 수 있습니다.