Guardo el token de acceso para la autorización en javascript localStorage . Cada vez que se carga mi aplicación frontend, quiero obtener este token para obtener el usuario.
created() { let access = localStorage.getItem('access') console.log(access) if (!access) { console.log('access not exists') } else { console.log('access exists:', access) } } Pero este token debería haberse sobrescrito con bastante frecuencia. Y cuando limpio este token porque el usuario cierra la sesión, debería obtener un valor nulo en Access. Pero Chrome almacena en caché este valor y el bloque 'si' todavía obtiene un token como si existiera. Esto es lo que veo en la consola: 
¿Cómo puedo obtener valor no almacenado en caché? O debería dejar esto. ¿Y molestará en la producción?
El almacenamiento local no se almacena en caché. Supongo que el problema es la forma en que limpia el almacenamiento local. Supongo que está haciendo algo como esto: localStorage.setItem('access', undefined) . Esto establecerá el elemento de almacenamiento local en la cadena 'undefined' y, si lo hace, if (!access) siempre devolverá falso. Actualmente no puede usar undefined , null o true / false en el almacenamiento local, solo cadenas . Puede comprobar el tipo almacenado imprimiendo el tipo devuelto: console.log(typeof localStorage.getItem('access')) , que debería ser una cadena.
Tienes 2 opciones:
Eliminar el elemento por completo del almacenamiento local
localStorage.removeItem('access')
Luego puede usar su implementación actual, ya que el almacenamiento local devolverá undefined en localStorage.getItem('access') .
Establezca una cadena vacía y pruebe la longitud de la cadena:
// "clean" your access localStorage.setItem('access', ''); // Check if there is an access const access = localStorage.getItem('access'); if (access && access.length > 0) { console.log('access does exists') } else { console.log('access does NOT exists') }