Javascript Object.setPrototypeOf ()

Метод JavaScript Object.setPrototypeOf () устанавливает прототип указанного объекта на другой объект или значение null.

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

 Object.setPrototypeOf(obj, prototype)

Этот setPrototypeOf()статический метод вызывается по имени Objectкласса.

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

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

  • obj - объект, прототип которого должен быть установлен.
  • prototype - новый прототип объекта (объект или нуль).

Возвращаемое значение из 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!

Вывод

 name: "Маркус" звук: "лай" __proto__: constructor: class Dog Introduction: ƒ Introduction () __proto__: makeSound: ƒ makeSound () __proto__: Объект Маркус, лаять!

Рекомендуемая литература: объект Javascript isPrototypeOf ()

Интересные статьи...