Воздействия и преимущества создания пустого объекта с использованием Object.create (null)
Прежде всего, я сделал быстрый тестовый пример jsperf, чтобы показать очевидное:Object.create(null)
это намного медленнее, чем создание объекта с{}
синтаксис.
http://jsperf.com/js-object-creation-null-proto
Но, учитывая этот факт, может ли первый случай быть хорошей альтернативой иногда в отношении оптимизации и производительности? Другими словами, может ли манипулирование самым легким js-объектом повысить производительность настолько, чтобы в некоторых случаях стало разумным выбором использовать его.
Я ссылаюсь на случаи, когда вы часто обращаетесь к свойствам объекта или интенсивно используете цикл for, например.
Является ли этот метод слишком рискованным для использования в библиотеке, где люди могут привести к тому, что они будут обрабатывать эти объекты, которые не обладают стандартными свойствами, привнесенными стандартомObject
прототип?
Кроме того, знаете ли вы другой (более быстрый) способ создания наиболее легкого объекта js?
PS: я сделал краткий контрольный пример, чтобы показать случай, когда с помощьюObject.create(null)
и доступ к свойствам немного быстрее, чем с{}
.
http://jsperf.com/js-object-creation-and-accessing-properties