Javascript Object.setPrototypeOf ()

Метод JavaScript Object.setPrototypeOf () встановлює прототип вказаного об’єкта іншим об’єктом або нулем.

Синтаксис setPrototypeOf()методу:

 Object.setPrototypeOf(obj, prototype)

setPrototypeOf()Метод, який є статичний метод, викликаються з допомогою Objectімені класу.

Параметри setPrototypeOf ()

setPrototypeOf()Метод приймає в:

  • obj - об'єкт, для якого має бути встановлений його прототип.
  • прототип - новий прототип об’єкта (об’єкт або нуль).

Повернене значення з setPrototypeOf ()

  • Повертає вказаний об'єкт.

Примітка: Зміна ((Prototype))об’єкта в даний час є дуже повільною операцією в кожному браузері та на механізмі JavaScript.

Приклад 1: Використання 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!

Вихідні дані

 Маркусе, гавкай!

Приклад 2: Використання 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!

Вихідні дані

 ім'я: "Маркус" звук: "кора" __proto__: конструктор: клас Собака введення: ƒ Introduction () __proto__: makeSound: ƒ makeSound () __proto__: Об'єкт Маркус, кора!

Рекомендована література: Об'єкт Javascript isPrototypeOf ()

Цікаві статті...