Les objets JavaScript peuvent avoir des constructeurs. Contrairement à d'autres langages de programmation, JavaScript n'utilise pas de mot-clé spécial tel que constructeur pour définir un constructeur. Au lieu de cela, les constructeurs sont créés à l'aide de prototypes.
Création de constructeurs avec des prototypes :
Dans cette approche, une fonction constructeur est créée avec un nom en majuscule. A l'intérieur du constructeur, les propriétés de l'objet sont attribuées à l'aide du mot-clé this. Pour accéder aux propriétés et méthodes de tous les objets créés à l'aide de ce constructeur, un prototype est créé. Le prototype peut contenir des méthodes et des propriétés qui seront héritées par tous les objets créés à partir de ce constructeur.
<code class="javascript">function Box(color) // Constructor { this.color = color; } Box.prototype.getColor = function() { return this.color; };</code>
Dans cet exemple, le constructeur Box accepte un paramètre color et l'attribue à la propriété color de l'objet. Le prototype du constructeur Box définit une méthode appelée getColor qui renvoie la propriété color de l'objet.
Masquage des membres privés :
Pour masquer les propriétés des accès externes, un La variable peut être déclarée dans la fonction constructeur et accessible uniquement via une méthode. Ce n'est pas un véritable membre privé, mais il offre une certaine forme d'encapsulation.
<code class="javascript">function Box(col) { var color = col; this.getColor = function() { return color; }; }</code>
Dans cet exemple, la propriété color est déclarée comme variable à l'intérieur du constructeur et est inaccessible en dehors du constructeur. La méthode getColor donne accès à la propriété color.
Utilisation :
Pour créer des objets à l'aide du constructeur, le mot-clé new est utilisé. Le code suivant montre l'utilisation des constructeurs :
<code class="javascript">var blueBox = new Box("blue"); alert(blueBox.getColor()); // will alert blue var greenBox = new Box("green"); alert(greenBox.getColor()); // will alert green</code>
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!