Astuce comment étendre les objets intégrés en JavaScript

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.

Inverser une chaîne

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 ());

Question bonus

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!

  • Suivez-nous sur Twitter ou abonnez-vous au fil RSS Nettuts + pour obtenir les meilleurs tutoriels de développement Web sur le Web..