[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을 사용하여 속성을 병합하는 방법을 사용할 수 있습니다.

이러한 방법을 통해 프로토타입 체인에서의 속성을 효과적으로 유지할 수 있습니다.

참고 자료