Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

195
Vistas
localStorage diferencia entre clave inexistente y valor nulo

En algunos casos, necesito almacenar información en localStorage de que algunos 'objetos' son nulos. Pero no soporta eso.

 localStorage.setItem('tt', null); const tt = localStorage.getItem('tt'); console.log(tt.length); console.log(`tt is ${tt == null ? '' : 'NOT '}null`);

este código pone en la consola:

 4 tt is NOT null

¿Por qué?

Puedo ajustar mi lógica y evitar guardar objetos nulos en el almacenamiento, pero en algunas circunstancias, desea diferenciar los datos "el valor del objeto es desconocido" frente a "el valor del objeto es nulo".

¿Debería usar otra variable para eso?

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Según la documentación , el valor de retorno de getItem es un DomString

A DOMString containing the value of the key. If the key does not exist, null is returned.

Si desea decir nulo, deberá usar JSON.stringify y JSON.parse

 localStorage.setItem('tt', JSON.stringify(null)); const tt = JSON.parse(localStorage.getItem('tt')); console.log(`tt is ${tt == null ? '' : 'NOT '}null`);
about 4 years ago · Juan Pablo Isaza Denunciar

0

según la documentación, setItem recibe el DOMString que convierte nulo en cadena "null". Es por eso que cuando guarda nulo obtiene la longitud 4.

https://developer.mozilla.org/en-US/docs/Web/API/DOMString

Ciertas API web que aceptan un DOMString tienen un comportamiento heredado adicional, en el que pasar una cadena nula se convierte en la cadena vacía en lugar del "nulo" habitual.

Si desea establecer un valor nulo, usaría removeItem ("tt") para obtener un valor nulo.

about 4 years ago · Juan Pablo Isaza Denunciar

0

localStorage solo puede almacenar pares de clave/valor de cadena; por lo tanto, null se convertirá en forma de cadena ( 'null' ) cuando configure el elemento en localStorage .

El uso de una verificación de tipo estricta cuando se compara con null resolverá el problema:

 localStorage.setItem('tt', null); const tt = localStorage.getItem('tt'); console.log(`tt is ${tt === null ? '' : 'NOT '}null`);

Alternativamente, puede usar el operador in para verificar si la clave existe:

 console.log(`tt is ${'tt' in localStorage ? 'NOT' : ''} null`);
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda