Tout d'abord, j'ai fait un cas de test rapide jsperf pour montrer l'évidence :Object.create(null)
est beaucoup plus lent que la création d'un objet avec la fonction {}
la syntaxe.
http://jsperf.com/js-object-creation-null-proto
Mais étant donné ce fait, le premier cas peut-il être une bonne alternative parfois en ce qui concerne l'optimisation et la performance ? En d'autres termes, la manipulation de l'objet js le plus léger peut-elle améliorer suffisamment les performances pour qu'il devienne un choix raisonnable de l'utiliser dans certains cas.
Je fais référence aux cas où vous accédez souvent aux propriétés de l'objet, ou lorsque vous faites un usage intensif de la boucle for in, par exemple.
Est-ce que cette méthode est trop risquée pour être utilisée dans une bibliothèque où les gens pourraient être amenés à manipuler ces objets qui ne possèdent pas les propriétés standard apportées par le standard Object
Un prototype ?
Par ailleurs, connaissez-vous un autre moyen (plus rapide) de créer l'objet js le plus léger ?
PS : J'ai réalisé un bref test pour montrer un cas où l'utilisation d'une Object.create(null)
et l'accès aux propriétés est un peu plus rapide qu'avec l'option {}
.
http://jsperf.com/js-object-creation-and-accessing-properties