Maison > Article > interface Web > Comprendre les caractéristiques et les usages des prototypes et chaînes de prototypes
Explorez les caractéristiques et les applications des prototypes et des chaînes de prototypes
1. Que sont les prototypes et les chaînes de prototypes
En JavaScript, chaque objet a un objet prototype. Un objet prototype est également un objet et il peut avoir des propriétés et des méthodes. Les objets en JavaScript sont basés sur des prototypes, ce qui signifie qu'un objet peut hériter des propriétés et des méthodes d'un autre objet.
L'objet prototype de l'objet peut pointer vers l'objet prototype de l'objet via l'attribut __proto__
属性来访问。这个__proto__
, qui est une référence à l'objet prototype. Grâce à la chaîne de prototypes, les objets peuvent rechercher des propriétés et des méthodes tout au long de la chaîne de prototypes.
2. Caractéristiques des prototypes
Exemple de code :
function Person(name, age) { this.name = name; this.age = age; } Person.prototype.greet = function() { console.log('Hello, ' + this.name + '!'); }; var person1 = new Person('Alice', 20); var person2 = new Person('Bob', 25); console.log(person1.__proto__ === person2.__proto__); // true
Exemple de code :
person1.greet(); // Hello, Alice! console.log(person1.hasOwnProperty('name')); // true,对象自身有name属性 console.log(person1.hasOwnProperty('greet')); // false,对象自身没有greet方法 console.log(person1.__proto__.hasOwnProperty('greet')); // true,原型对象有greet方法 person1.name = 'Eve'; console.log(person1.hasOwnProperty('name')); // true,对象自身有name属性,不会修改原型对象的属性
3. Caractéristiques de la chaîne prototype
Exemple de code :
function Animal(name) { this.name = name; } function Cat(name, color) { this.name = name; this.color = color; } Cat.prototype = new Animal(); var cat = new Cat('Tom', 'blue'); console.log(cat instanceof Cat); // true console.log(cat instanceof Animal); // true console.log(cat.hasOwnProperty('name')); // true,对象自身有name属性 console.log(cat.hasOwnProperty('color')); // true,对象自身有color属性 console.log(cat.__proto__ === Cat.prototype); // true console.log(Cat.prototype.__proto__ === Animal.prototype); // true console.log(Animal.prototype.__proto__ === Object.prototype); // true,原型链的顶端是Object.prototype
4. Application du prototype et de la chaîne de prototypes
Exemple de code :
function Animal(name) { this.name = name; } Animal.prototype.eat = function() { console.log(this.name + ' is eating.'); }; function Cat(name, color) { this.name = name; this.color = color; } Cat.prototype = new Animal(); var cat = new Cat('Tom', 'blue'); cat.eat(); // Tom is eating.
Exemple de code :
function Person(name, age) { this.name = name; this.age = age; } Person.prototype.sayHi = function() { console.log('Hi, I am ' + this.name); }; var person1 = new Person('Alice', 20); var person2 = new Person('Bob', 25); person1.sayHi(); // Hi, I am Alice person2.sayHi(); // Hi, I am Bob
Résumé :
Le prototype et la chaîne de prototypes sont des concepts importants en JavaScript. Ils forment le mécanisme d'héritage et de partage entre les objets. Grâce aux prototypes et aux chaînes de prototypes, nous pouvons mieux organiser et gérer les propriétés et les méthodes des objets, et améliorer la réutilisabilité et la maintenabilité du code. Dans le développement réel, une compréhension approfondie et une maîtrise de l'utilisation des caractéristiques et des applications des prototypes et des chaînes de prototypes contribueront à améliorer les compétences en programmation JavaScript.
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!