클래스에서 프로토타입 체인을 어떻게 검사할 수 있나요?

프로토타입 체인을 검사하기 위해서는 Object.getPrototypeOf() 메서드를 사용할 수 있습니다. 이 메서드는 객체의 프로토타입을 반환합니다. 클래스의 인스턴스는 해당 클래스의 프로토타입을 상속하므로, 이 메서드를 이용하면 해당 인스턴스가 어떤 클래스를 상속받았는지 확인할 수 있습니다.

다음은 프로토타입 체인을 검사하는 예시 코드입니다.

class Animal {
  // ...
}

class Dog extends Animal {
  // ...
}

class GoldenRetriever extends Dog {
  // ...
}

const dog = new GoldenRetriever();

console.log(Object.getPrototypeOf(dog) === GoldenRetriever.prototype); // true
console.log(Object.getPrototypeOf(Object.getPrototypeOf(dog)) === Dog.prototype); // true
console.log(Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(dog))) === Animal.prototype); // true

위 코드에서 Object.getPrototypeOf() 메서드를 이용하여 dog 인스턴스의 프로토타입 체인을 검사하고, 각각의 프로토타입이 예상한 클래스와 일치하는지 확인해보고 있습니다.

프로토타입 체인을 검사하는 것은 객체의 상속 관계를 이해하고 디버깅할 때 유용합니다. 개발 중에 프로토타입 체인을 검사하여 객체 간의 연결상태를 확인하고 문제가 발생할 수 있는 부분을 파악할 수 있습니다.

#자바스크립트 #프로토타입체인