JavaScript Object.setPrototypeOf () -metoden indstiller prototypen for et bestemt objekt til et andet objekt eller null.
Metodens syntaks setPrototypeOf()
er:
Object.setPrototypeOf(obj, prototype)
Den setPrototypeOf()
metode, som er en statisk metode, der kaldes ved hjælp af Object
navnet klassen.
setPrototypeOf () Parametre
Den setPrototypeOf()
metode tager i:
- obj - Objektet, der skal have sin prototype indstillet.
- prototype - Objektets nye prototype (et objekt eller null).
Returneringsværdi fra setPrototypeOf ()
- Returnerer det angivne objekt.
Bemærk: Ændring ((Prototype))
af et objekt er i øjeblikket en meget langsom handling i hver browser og JavaScript-motor.
Eksempel 1: Brug af 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!
Eksempel 2: Brug af 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
navn: "Marcus" lyd: "bark" __proto__: konstruktør: klasse Hund introducere: ƒ introducere () __proto__: makeSound: ƒ makeSound () __proto__: Objekt Marcus, bark!
Anbefalet læsning: Javascript Object isPrototypeOf ()