Я предпочитаю использовать Object.create(null)
, поэтому я могу использовать этот объект в качестве простого словаря для хранения основной информации. Если мне нужна функциональность объекта, тогда я бы создал обычный объект, например. var obj = {x:3, etc};
Это потому, что {} не является действительно пустым объектом, поскольку он ссылается на прототип объекта, поэтому в циклах вам нужно сделать hasOwnProperty
, чтобы остановить его, танцуя вокруг цепи прототипов, и выполнение этой проверки на каждом цикле затрудняет работу, хотя и незначительно.
Неправильно ли использовать Object.create(null)
вместо {}
, поэтому мне не нужно писать hasOwnProperty
в каждом цикле?
Изменить: возможно дублировать, но я не спрашиваю, как и почему они разные, вместо этого мне интересно узнать, используют ли другие Object.create(null)
? Is SOP на земле Javascript?
Изменить 2: Я также предпочитаю выполнять однострочные проверки, например. if(obj[someKey])...
ht 'Дань APJ Kalam Sir'.