2010-08-18 13 views
0

Je me demandais quels sont les effets secondaires ou ce que cela signifie ou fait. Je l'ai remarqué dans deux parties du code source de la bibliothèque Prototype JS.

Hash.from = $H; 

Array.from = $A; 

toute précision serait grandement appréciée, et merci d'avance.

Répondre

0

De la documentation

clones Array.from un tableau existant ou crée une nouvelle à partir d'une collection semblable à un tableau . C'est un alias pour la méthode $ A() . Un A() est un alias de commodité de Array.from, mais est le moyen préféré de coulée à un tableau.

C'est ce qui se passe dans les lignes que vous avez publiées. La fonction nommée $ A est assignée à Array.from. Donc appeler Array.from (iterable) revient à appeler $ A (iterable). Pareil avec Hash.

1

Il est difficile de donner une réponse utile sans plus de contexte.

Hash.from = $ H;

attribue une valeur de la variable $H à la propriété de l'objet fromHash. C'est tout ce qui est défini par l'utilisateur.

Array.from = $ A;

attribue une valeur de la variable $A à la propriété de l'objet fromArray. Tout est défini par l'utilisateur sauf Array, qui est un constructeur intégré pour les tableaux.

L'effet secondaire de la modification des fonctions de constructeur intégrées est la possibilité que deux ensembles de modifications entrent en conflit les uns avec les autres. Par exemple, si prototype.js donne Array une propriété from et puis myCoolLibrary.js donne également Array une propriété from, probablement avec une API différente, une bibliothèque ou l'autre est lié à la rupture.