Javascript Object.setPrototypeOf ()

El método JavaScript Object.setPrototypeOf () establece el prototipo de un objeto especificado en otro objeto o nulo.

La sintaxis del setPrototypeOf()método es:

 Object.setPrototypeOf(obj, prototype)

El setPrototypeOf()método, al ser un método estático, se llama utilizando el Objectnombre de la clase.

setPrototypeOf () Parámetros

El setPrototypeOf()método incluye:

  • obj - El objeto que va a tener su conjunto de prototipos.
  • prototype: el nuevo prototipo del objeto (un objeto o nulo).

Valor de retorno de setPrototypeOf ()

  • Devuelve el objeto especificado.

Nota: Cambiar el ((Prototype))de un objeto es actualmente una operación muy lenta en todos los navegadores y motores de JavaScript.

Ejemplo 1: uso de 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!

Salida

 Marcus, ladra!

Ejemplo 2: uso de 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!

Salida

 nombre: "Marcus" sonido: "ladrido" __proto__: constructor: clase Perro introduce: ƒ introduce () __proto__: makeSound: ƒ makeSound () __proto__: Object Marcus, ladra!

Lectura recomendada: el objeto Javascript isPrototypeOf ()

Articulos interesantes...