JavaScript Object.setPrototypeOf () -metoden ställer in prototypen för ett angivet objekt till ett annat objekt eller null.
Syntaxen för setPrototypeOf()
metoden är:
Object.setPrototypeOf(obj, prototype)
Den setPrototypeOf()
metod, som är en statisk metod, kallas med hjälp av Object
klassnamnet.
setPrototypeOf () Parametrar
Den setPrototypeOf()
metod tar in:
- obj - Objektet som ska ha sin prototyp inställd.
- prototyp - Objektets nya prototyp (ett objekt eller null).
Returvärde från setPrototypeOf ()
- Returnerar det angivna objektet.
Obs! Att ändra ((Prototype))
ett objekt är för närvarande en mycket långsam operation i alla webbläsare och JavaScript-motorer.
Exempel 1: Använd 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!
Produktion
Marcus, bark!
Exempel 2: Använda 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!
Produktion
namn: "Marcus" ljud: "bark" __proto__: konstruktör: klass Hund introducera: ƒ introducera () __proto__: makeSound: ƒ makeSound () __proto__: Objekt Marcus, bark!
Rekommenderad läsning: Javascript Object isPrototypeOf ()