Creando matrices de objetos en javascript.

Estoy aprendiendo javascript proveniente de un fondo .NET. Tengo una pregunta acerca de cómo tratar con arrays de objetos, crear y manipular no parece tan fácil / obvio como .NET.

A menudo, en el código .NET utilizo las estructuras (c #) o las estructuras (VB.NET) para administrar construcciones de valor simples, por ejemplo (en VB.NET):

    Public Structure WidgetsStruc
        Public Name As String 
        Public LocX As Integer
        Public LocY As Integer
    End Structure
    Private myWidgets As New WidgetsStruc
    myWidgets.LocX = 35
    myWidgets.LocY = 312
    myWidgets.Name = "compass"
    Messagebox(myWidgets.Name)              ' shows 'compass'
    ...

en javascript, de la investigación que he hecho, no hay nada que sea equivalente, aunque puedes usar un objeto y 'empujarlo' en una matriz como la siguiente, que funciona:

    var widget = new Object();
    var widgetTemplates = new Array();
    widgetTemplates.push(widget);
    widgetTemplates[0].name = "compass";
    widgetTemplates[0].LocX = 35;
    widgetTemplates[0].LocY = 312;
    alert(widgetTemplates[0].name);          // also shows 'compass'          

Tal vez no estoy acostumbrado a trabajar en un lenguaje más holgado, pero el JavaScript anterior no parece óptimo (por ejemplo, tener que "empujar" un objeto sin una estructura declarada en la matriz e inicializar las variables después, más el "pop" y 'cortar' para remover).

¿Tengo esto bien? ¿Existe una forma mejor o más fácil de declarar y usar matrices de objetos? También busqué en JSON pero no sé exactamente cómo usar eso para manipular objetos definidos por el usuario en una matriz.

Como JavaScript n00b - ¡Gracias por cualquier orientación!

Respuestas a la pregunta(1)

Su respuesta a la pregunta