Salve objetos Javascript em sessionStorage

@SessionStorage e o LocalStorage permitem salvar pares de chave / valor em um navegador da web. O valor deve ser uma sequência e salvar objetos js não é trivia

var user = {'name':'John'};
sessionStorage.setItem('user', user);
var obj = sessionStorage.user; // obj='[object Object]' Not an object

oje em dia, você pode evitar essa limitação serializando objetos para JSON e desserializando-os para recuperar os objetos. Mas a API de armazenamento sempre passa pelosetItem egetItem métodos

sessionStorage.setItem('user', JSON.stringify(user));
var obj = JSON.parse(sessionStorage.getItem('user')); // An object :D

Posso evitar essa limitação?

Eu só quero executar algo como isto:

sessionStorage.user.name; // 'John'
sessionStorage.user.name = 'Mary';
sessionStorage.user.name // 'Mary'

Tentei odefineGetter edefineSetter métodos para interceptar as chamadas, mas é um trabalho tedioso, porque tenho que definir todas as propriedades e meu objetivo é não conhecer as propriedades futura

questionAnswers(8)

yourAnswerToTheQuestion