Maison >interface Web >Questions et réponses frontales >javascript supprimer le prototype
JavaScript est un langage de script puissant avec une syntaxe et des fonctionnalités riches. Le prototype est un concept important en JavaScript. Le prototype est un mécanisme en JavaScript qui prend en charge l'héritage d'objets. Il s'agit d'un objet spécial qui peut être utilisé comme propriété par défaut lors de la création d'un objet. L’utilisation de prototypes permet d’hériter et de réutiliser plus facilement des objets, c’est donc un concept qu’il faut maîtriser en JavaScript. Cependant, nous devons parfois supprimer le prototype, que devons-nous faire à ce moment-là ? Cet article détaillera comment supprimer des prototypes en JavaScript.
En JavaScript, tout est un objet. Lorsque nous créons un objet, il hérite automatiquement d'un objet appelé prototype, qui est un objet intégré en JavaScript. Nous pouvons considérer un prototype comme un modèle qui définit les propriétés et les méthodes appartenant à un objet. Par exemple, lorsque nous créons un objet Dog, il héritera automatiquement d'un objet prototype, qui contient toutes les propriétés et méthodes communes des objets Dog, telles que le nom, le son, l'aboiement, etc.
Parfois, nous devons supprimer le prototype, par exemple, nous ne voulons pas qu'un objet hérite des propriétés et des méthodes, ou nous voulons réinitialiser le prototype d'un objet, etc. Alors, comment supprimer un prototype ? Deux méthodes sont présentées ci-dessous :
Méthode 1 : Utilisez la méthode Object.setPrototypeOf()
La méthode Object.setPrototypeOf() est utilisée pour définir le prototype d'un objet sur un autre objet ou null. Lorsque nous définissons le prototype sur null, cela équivaut à supprimer le prototype. Voici un exemple :
let Dog = function(name) { this.name = name; }; let dog = new Dog('小狗'); console.log(Dog.prototype); // {constructor: ƒ} console.log(dog.__proto__); // {constructor: ƒ} Object.setPrototypeOf(dog, null); console.log(Dog.prototype); // {constructor: ƒ} console.log(dog.__proto__); // null
Dans l'exemple ci-dessus, nous avons appelé la méthode Object.setPrototypeOf() pour définir le prototype de l'objet chien sur null, ce qui équivaut à supprimer le prototype. À ce stade, nous pouvons constater que la valeur de dog.__proto__ est nulle.
Méthode 2 : Utiliser le mot-clé delete
En plus d'utiliser la méthode Object.setPrototypeOf(), on peut également utiliser le mot-clé delete en JavaScript pour supprimer le prototype, par exemple : # 🎜🎜#
let Dog = function(name) { this.name = name; }; let dog = new Dog('小狗'); console.log(Dog.prototype); // {constructor: ƒ} console.log(dog.__proto__); // {constructor: ƒ} delete dog.__proto__; console.log(Dog.prototype); // {constructor: ƒ} console.log(dog.__proto__); // undefinedDans l'exemple ci-dessus, nous avons utilisé le mot-clé delete pour supprimer le prototype de l'objet dog. À ce stade, nous pouvons constater que la valeur de dog.__proto__ n'est pas définie.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!