Creando un .net como objeto de diccionario en Javascript

Quiero crear un objeto en JavaScript que almacene valores en clave, par de valor y debería poder pasar alguna clave y debería recuperar su valor. En el mundo .NET podemos usar la clase de diccionario para este tipo de implementación. ¿Tenemos alguna opción en el mundo de JavaScript? Estoy usando ExtJs 4.1, por lo que si conoce alguna opción en ExtJS, incluso eso funcionaría.

He intentado algo como esto pero no puedo obtener valor por clave.

var Widget = function(k, v) {
    this.key = k;
    this.value = v;
};

var widgets = [
    new Widget(35, 312),
    new Widget(52, 32)
];

Respuestas a la pregunta(3)

Su respuesta a la pregunta