Criando novos objetos em JavaScript

Sou relativamente novato em programação orientada a objetos em JavaScript e não tenho certeza da "melhor" maneira de definir e usar objetos em JavaScript. Eu vi a maneira "canônica" de definir objetos e instanciar uma nova instância, como mostrado abaixo.

function myObjectType(property1, propterty2) {
    this.property1 = property1,
    this.property2 = property2
}
// now create a new instance
var myNewvariable = new myObjectType('value for property1', 'value for property2');

Mas vi outras maneiras de criar novas instâncias de objetos dessa maneira:

var anotherVariable = new someObjectType({
    property1:    "Some value for this named property",
    property2:    "This is the value for property 2"
});

Eu gosto de como essa segunda maneira aparece - o código é auto-documentado. Mas minhas perguntas são:

Qual caminho é "melhor"?

Posso usar essa segunda maneira para instanciar uma variável de um tipo de objeto que foi definida usando a maneira "clássica" de definir o tipo de objeto com esse construtor implícito?

Se eu quiser criar uma matriz desses objetos, existem outras considerações?

Desde já, obrigado.

questionAnswers(4)

yourAnswerToTheQuestion