Dois-Je Utiliser Angulaire.copier() ou _.clone()?
Je suis en train de travailler sur un projet qui a à la fois Anguleux et trait de Soulignement comme une dépendance.
Quand j'ai besoin de créer une copie d'un objet, en fonction de mon humeur du moment, je pourrais utiliser angular.copy()
ou _.clone()
Il me semble que l'une de ces méthodes est probablement plus rapide/fiable/plus robuste que les autres.
Il un problème connu avec l'une de ces fonctions qui font qu'il est meilleur ou pour le pire à utiliser que les autres, en supposant que les deux bibliothèques sont déjà inclus?
- Vous disposez de tous les résultats de la comparaison que vous avez déjà couru, avec éventuellement jsperf? ou avez-vous fait aucune recherche encore.
- les deux méthodes clairement effectuer deux tâches différentes, selon la documentation, (copie en profondeur vs copie superficielle) donc le mieux serait dépend exactement ce que vous vouliez faire dans chaque cas.
- Donc, lodash a un cloneDeep méthode et aussi si vous passez une valeur booléenne pour lodash de la méthode clone il crée un profond clone conformément à la documentation. Toutes les suggestions sur les performances de ces méthodes contre angulaire.copie?
Vous devez vous connecter pour publier un commentaire.
Sujet de votre question: angulaire.copie et _.le clone sont différents. Ce n'est pas une question de qui est mieux, c'est ce que vous avez besoin comme @Kevin B indiqué dans les commentaires.
angulaire.extend() d'autre part, est une copie semblable à _.clone
Angulaire.copie vs Angulaire.étendre
Performance sage, je ne suis pas sûr de ce qui est mieux, mais l'opinion de souci, je suis opposé à l'inclusion de bibliothèques dans la portée globale (trait de soulignement) avec tout angulaire de l'application, comme habituellement, ces choses sont écrites afin que angulaire modules. angulaire.copier/angulaire.étendre allait gagner dans cette affaire.
Faible/Copie en Profondeur:
Source
_
. Cette approche fonctionne aussi bien pour les autres, autonomes, des bibliothèques, par exemple momentjs.Nous avons eu quelques rapports de bogues confirmant que l'utilisation angulaire.copier permet de créer des objets vides sur certains téléphones Windows mobile.
Donc, si vous avez besoin à l'appui de n'importe quelle version de IE sur mobile, n'utilisez pas angulaire.la copie!
Aurait ce bug a été corrigé par microsoft, mais néanmoins nous avons eu à traiter avec elle...
En fait, vous pouvez tout aussi bien utiliser
Object.assign()
...Docs: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
Autres exemples: https://googlechrome.github.io/samples/object-assign-es6/
Je sais qu'il dit non c'est à dire, mais je l'ai essayé sur mon IE11 et il fonctionne...