79 votes

Getter JavaScript pour toutes les propriétés

Longue histoire courte: Je suis dans une situation où j’aimerais un getter de style PHP, mais en JavaScript.

Mon JavaScript fonctionne uniquement dans Firefox, donc JS spécifique à Mozilla est OK pour moi.

La seule façon que je peux trouver pour faire un getter JS nécessite de spécifier son nom, mais j’aimerais définir un getter pour tous les noms possibles . Je ne sais pas si c’est possible, mais j’aimerais beaucoup le savoir.

56voto

Ali Points 1597

Vous pouvez combiner proxy et classe pour avoir un beau code comme php:

cela se lie au gestionnaire, de sorte que vous pouvez l’utiliser au lieu de cible.

Remarque : contrairement à PHP, le proxy gère toutes les demandes de propriété.

Vous pouvez vérifier quels navigateurs prennent en charge les http://caniuse.com/#feat=proxy proxy.

47voto

Ionuț G. Stan Points 62482

Le plus proche que vous pouvez trouver est noSuchMethod, qui est l’équivalent JavaScript de PHP __call().

Malheureusement, il n’y a pas d’équivalent de get/set, ce qui est dommage, car avec eux nous aurions pu implémenter noSuchMethod, mais je ne vois pas encore comment implémenter des propriétés (comme en C#) en utilisant noSuchMethod.

5voto

Vengarioth Points 545

Si vous avez vraiment besoin d’une implémentation qui fonctionne, vous pouvez « tricher » en testant le deuxième paramètre ``contre , cela signifie également que vous pouvez utiliser get pour définir le paramètre.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X