Это действительно по вкусу. Таким образом:
var anotherVariable = new someObjectType({
property1: "Some value for this named property",
property2: "This is the value for property 2"
});
... обычно лучше, если имеется более 2/3 аргументов, поскольку это способствует удобочитаемости и позволяет избежать проблемы необязательного аргумента (fn(null,null,null,123')
).
Еще одним фактором является производительность. Передача аргументов обычным способом будет быстрее, но это увеличение скорости становится значительным только в очень чувствительных к производительности ситуациях.
Могу ли я использовать этот второй способ для создания экземпляра переменной типа объекта, которая была определена с использованием "классического" способа определения типа объекта с помощью этого неявного конструктора?
Не легко. Если вы хотите создать экземпляр конструктора, используя хэш вместо просто передачи аргументов, и у вас нет контроля над источником, тогда вы можете «обернуть» его:
var _constructor = SomeConstructorFunction;
SomeConstructorFunction = function(hash) {
return new _constructor(hash.property1, hash.property2);
};
Я бы не советовал возиться со сторонними API только ради стиля.
Если я хочу создать массив этих объектов, есть ли другие соображения?
Насколько велик массив? Для чего нужен массив? Производительность может стоить задуматься ...