Die JavaScript Object.setPrototypeOf () -Methode setzt den Prototyp eines angegebenen Objekts auf ein anderes Objekt oder null.
Die Syntax der setPrototypeOf()
Methode lautet:
Object.setPrototypeOf(obj, prototype)
Die setPrototypeOf()
Methode ist eine statische Methode und wird unter Verwendung des Object
Klassennamens aufgerufen .
setPrototypeOf () Parameter
Die setPrototypeOf()
Methode umfasst:
- obj - Das Objekt, dessen Prototyp gesetzt werden soll.
- Prototyp - Der neue Prototyp des Objekts (ein Objekt oder null).
Rückgabewert von setPrototypeOf ()
- Gibt das angegebene Objekt zurück.
Hinweis: Das Ändern ((Prototype))
eines Objekts ist derzeit in jedem Browser und jeder JavaScript-Engine sehr langsam.
Beispiel 1: Verwenden von 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!
Ausgabe
Marcus, belle!
Beispiel 2: Verwenden von 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!
Ausgabe
Name: "Marcus" Ton: "Rinde" __proto__: Konstruktor: Klasse Hund einführen: ƒ einführen () __proto__: makeSound: ƒ makeSound () __proto__: Objekt Marcus, bellen!
Empfohlene Lektüre: Javascript-Objekt isPrototypeOf ()