Save Javascript objects in sessionStorage

后端 未结 9 746
抹茶落季
抹茶落季 2020-12-02 05:14

SessionStorage and LocalStorage allows to save key/value pairs in a web browser. The value must be a string, and save js objects is not trivial.

var user = {         


        
9条回答
  •  暖寄归人
    2020-12-02 05:40

    This is a dynamic solution which works with all value types including objects :

    class Session extends Map {
      set(id, value) {
        if (typeof value === 'object') value = JSON.stringify(value);
        sessionStorage.setItem(id, value);
      }
    
      get(id) {
        const value = sessionStorage.getItem(id);
        try {
          return JSON.parse(value);
        } catch (e) {
          return value;
        }
      }
    }
    

    Then :

    const session = new Session();
    
    session.set('name', {first: 'Ahmed', last : 'Toumi'});
    session.get('name');
    

提交回复
热议问题