Metoda JavaScript Object.setPrototypeOf () ustawia prototyp określonego obiektu na inny obiekt lub wartość null.
Składnia setPrototypeOf()
metody to:
Object.setPrototypeOf(obj, prototype)
setPrototypeOf()
Metoda jest metodą statyczną, nazywa się używając Object
nazwy klasy.
setPrototypeOf () Parametry
setPrototypeOf()
Sposób odbywa się:
- obj - Obiekt, który ma mieć ustawiony prototyp.
- prototype - nowy prototyp obiektu (obiekt lub null).
Wartość zwracana z setPrototypeOf ()
- Zwraca określony obiekt.
Uwaga: zmiana ((Prototype))
obiektu jest obecnie bardzo powolną operacją we wszystkich przeglądarkach i silniku JavaScript.
Przykład 1: Używanie 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!
Wynik
Marcus, szczekaj!
Przykład 2: Używanie 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!
Wynik
nazwa: "Marcus" dźwięk: "szczekanie" __proto__: konstruktor: klasa Pies wprowadzenie: ƒ wprowadzenie () __proto__: makeSound: ƒ makeSound () __proto__: Obiekt Marcus, szczekaj!
Zalecana lektura: Obiekt JavaScript isPrototypeOf ()