Les fonctions de constructeur, comme Array, offrent un large éventail de méthodes et de propriétés que vous pouvez utiliser. Mais avez-vous déjà souhaité qu'un de ces objets offre une méthode qui ne soit pas intégrée? Y at-il un moyen de le faire vous-même? Absolument! Voyons comment.
Ce petit extrait tire parti de la méthode "inverse" de l'objet Array et applique ses fonctionnalités à une chaîne donnée. En effet, quelque chose comme "hello" sera transformé en "olleh" et sera accessible en utilisant "myString.reverse ()".
String.prototype.reverse = function () return Array.prototype.reverse.apply (this.split (")). Join ("); ; var myString = 'hello'; console.log (myString.reverse ());
Maintenant que nous connaissons les bases de l'augmentation d'objets, pouvez-vous trouver un moyen d'écrire une méthode personnalisée "contient" pour l'objet String? Par exemple, la bibliothèque jQuery nous permet d’écrire des choses comme:
$ ("div: contient ('John')"). css ('fontWeight', 'bold');
L'extrait ci-dessus cherchera dans tous les divs de la page, puis filtrera celui qui est encapsulé pour ne contenir que ceux contenant la chaîne "John". Comment pourrions-nous étendre l'objet String, avec JavaScript brut, pour permettre cela? Laissez votre solution dans les commentaires, et nous discuterons!