Javascript Object.setPrototypeOf ()

Il metodo JavaScript Object.setPrototypeOf () imposta il prototipo di un oggetto specificato su un altro oggetto o su null.

La sintassi del setPrototypeOf()metodo è:

 Object.setPrototypeOf(obj, prototype)

Il setPrototypeOf()metodo, essendo un metodo statico, viene chiamato utilizzando il Objectnome della classe.

setPrototypeOf () Parametri

Il setPrototypeOf()metodo comprende:

  • obj - L'oggetto che deve avere il suo prototipo impostato.
  • prototype - Il nuovo prototipo dell'oggetto (un oggetto o null).

Valore restituito da setPrototypeOf ()

  • Restituisce l'oggetto specificato.

Nota: la modifica ((Prototype))dell'indirizzo di un oggetto è attualmente un'operazione molto lenta in ogni browser e motore JavaScript.

Esempio 1: utilizzo di Object.setPrototypeOf ()

 let Animal = ( makeSound() ( console.log(`$(this.name), $(this.sound)!`); ), ); // defining new Dog object function Dog(name) ( this.name = name; this.sound = "bark"; // setting prototype to Animal Object.setPrototypeOf(this, Animal); ) dog1 = new Dog("Marcus"); dog1.makeSound(); // Marcus, bark!

Produzione

 Marcus, abbaia!

Esempio 2: utilizzo di Object.setPrototypeOf ()

 let Animal = ( makeSound() ( console.log(`$(this.name), $(this.sound)!`); ), ); // defining object class Dog ( constructor(name, age) ( this.name = name; this.sound = "bark"; ) introduce() ( console.log(`I'm $(this.name). I am $(this.age) years old.`); ) ) // Here Dog.prototype is passed as it is an object, while Dog is not an object Object.setPrototypeOf(Dog.prototype, Animal); dog1 = new Dog("Marcus", 3); console.log(dog1); dog1.makeSound(); // Marcus, bark!

Produzione

 nome: "Marcus" sound: "bark" __proto__: costruttore: class Dog introduce: ƒ introduce () __proto__: makeSound: ƒ makeSound () __proto__: Object Marcus, bark!

Lettura consigliata: oggetto Javascript isPrototypeOf ()

Articoli interessanti...