Object.setPrototypeOf() - встановлює прототип (тобто, внутрішню властивість [[Prototype]]) зазначеного об'єкта в інший об'єкт або null.
Object.setPrototypeOf(obj , prototype);
obj - Об'єкт, якому встановлюється прототип.
prototype - Новий прототип об'єкта (об'єкт або null).
Завдання прототипу може знизити продуктивність всього коду JavaScript, що має доступ до об'єкта, прототип якого був змінений.
var b={p:1};
var dict = Object.setPrototypeOf (b, null);
var stringProp = { desc: "description" };
Object.getPrototypeOf(String, stringProp);
var s1 = "333" ;
var s2 = new String( "333" );
if (console && console.log) {
console.log(String.desc === "description" ); // Returns true
console.log(s1.desc === "description" ); // Returns false
console.log(s2.desc === "description" ); // Returns false
Object.getPrototypeOf(s1, String); // Can't be set.
Object.getPrototypeOf(s2, String);
console.log(s1.desc === "description" ); // Returns false
console.log(s2.desc === "description" ); // Returns true
}