The JavaScript Reflect.setPrototypeOf() method sets the prototype of an object to another object. It is similar to Object.setPrototypeOf().
Syntax:
Reflect.setPrototypeOf(target, prototype)
Parameters:
target: It represents the object whose prototype has to be set.
prototype: It represents the object’s new prototype.
Return:
It returns true if the object’s new prototype is set successfully otherwise, it returns false.
Note: It throws TypeError if the target is not an Object or null.
Example 1:
<!DOCTYPE html>
<html>
<body>
<script>
var Jewel = {
gems() {
document.write(this.a + ' is very precious.');}};
class stone {
constructor(a) {
this.a = a;}}
Reflect.setPrototypeOf(stone.prototype, Jewel);
var d = new stone('DIAMOND');
d.gems();
</script>
</body>
</html>
Example 2:
<!DOCTYPE html>
<html>
<body>
<script>
const object1 = {};
document.write(Reflect.setPrototypeOf(object1, Object.prototype));
document.write("</br>");
document.write(Reflect.setPrototypeOf(object1, null));
document.write("</br>");
const object2 = {};
document.write(Reflect.setPrototypeOf(Object.freeze(object2), null));
</script>
</body>
</html>