
Object.setPrototypeOf() 메서드는 객체의 프로토타입을 설정하는 메서드입니다. 이 메서드를 사용할 때 오류가 발생하는 이유는 객체가 이미 프로토타입을 가지고 있기 때문입니다.
객체를 생성할 때, JavaScript는 기본적으로 Object.prototype을 객체의 프로토타입으로 설정합니다. 따라서, Object.setPrototypeOf() 메서드를 사용하기 전에 객체의 현재 프로토타입을 확인하고, 그 프로토타입을 설정하고 싶은 프로토타입과 다르다면, 오류가 발생합니다.
위 코드에서 오류를 해결하려면, 객체의 현재 프로토타입을 null로 설정한 후, 새로운 프로토타입을 설정하면 됩니다.
#hostingforum.kr
javascript
const obj = {};
const prototype = {};
Object.setPrototypeOf(obj, null);
Object.setPrototypeOf(obj, prototype);
또는, 객체를 생성할 때, 프로토타입을 설정할 수 있습니다.
#hostingforum.kr
javascript
const obj = Object.create(null);
const prototype = {};
Object.setPrototypeOf(obj, prototype);
이러한 방법으로, 객체와 프로토타입을 연결하는 Object.setPrototypeOf() 메서드를 사용할 때 오류를 방지할 수 있습니다.
2025-06-08 18:28