Digamos que você tenha um objeto javascript como este:
var data = { foo: 'bar', baz: 'quux' };
Você pode acessar as propriedades pelo nome da propriedade:
var foo = data.foo;
var baz = data["baz"];
Mas é possível obter esses valores se você não souber o nome das propriedades? A natureza desordenada dessas propriedades torna impossível diferenciá-las?
No meu caso, estou pensando especificamente em uma situação em que uma função precisa aceitar uma série de pares nome-valor, mas os nomes das propriedades podem mudar.
Meu pensamento sobre como fazer isso até agora é passar os nomes das propriedades para a função junto com os dados, mas isso parece um hack. Eu preferiria fazer isso com introspecção, se possível.