obal_Objects/Object/__lookupSetter__) Deprecated 
    5. [ ` Object.assign() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)
    6. [ ` Object.create() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create)
    7. [ ` Object.defineProperties() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperties)
    8. [ ` Object.defineProperty() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty)
    9. [ ` Object.entries() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries)
    10. [ ` Object.freeze() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze)
    11. [ ` Object.fromEntries() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/fromEntries)
    12. [ ` Object.getOwnPropertyDescriptor() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptor)
    13. [ ` Object.getOwnPropertyDescriptors() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptors)
    14. [ ` Object.getOwnPropertyNames() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyNames)
    15. [ ` Object.getOwnPropertySymbols() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertySymbols)
    16. [ ` Object.getPrototypeOf() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getPrototypeOf)
    17. [ ` Object.groupBy() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/groupBy)
    18. [ ` Object.hasOwn() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwn)
    19. [ ` Object.prototype.hasOwnProperty() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty)
    20. [ ` Object.is() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is)
    21. [ ` Object.isExtensible() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isExtensible)
    22. [ ` Object.isFrozen() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isFrozen)
    23. [ ` Object.prototype.isPrototypeOf() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isPrototypeOf)
    24. [ ` Object.isSealed() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isSealed)
    25. [ ` Object.keys() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys)
    26. [ ` Object.preventExtensions() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/preventExtensions)
    27. [ ` Object.prototype.propertyIsEnumerable() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/propertyIsEnumerable)
    28. [ ` Object.seal() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/seal)
    29. _[ ` Object.setPrototypeOf() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/setPrototypeOf) _
    30. [ ` Object.prototype.toLocaleString() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toLocaleString)
    31. [ ` Object.prototype.toString() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString)
    32. [ ` Object.prototype.valueOf() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/valueOf)
    33. [ ` Object.values() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values)

##  In this article

  * Try it 
  * Syntax 
  * Description 
  * Examples 
  * Specifications 
  * Browser compatibility 
  * See also 

#  Object.setPrototypeOf()

The **` Object.setPrototypeOf() ` ** static method sets the prototype (i.e.,
the internal ` [[Prototype]] ` property) of a specified object to another
object or [ ` null ` ](/en-US/docs/Web/JavaScript/Reference/Operators/null) .

**Warning:** Changing the ` [[Prototype]] ` of an object is, by the nature of
how modern JavaScript engines optimize property accesses, currently a very
slow operation in every browser and JavaScript engine. In addition, the
effects of altering inheritance are subtle and far-flung, and are not limited
to