Al escribir este código:
const num = +localStorage.getItem('whatever'); TypeScript se queja del valor de retorno de getItem que posiblemente sea null , como se muestra en este patio de juegos de TypeScript . Sin embargo, el operador unario es perfectamente capaz de manejar este caso. De hecho, +null === 0
console.log(+null === 0);¿Por qué es eso y cómo solucionarlo?
Envuélvalo dentro de una clase de Number y use una exclamación al final para mostrar que se debe mostrar el resultado, tal como se muestra a continuación.
const num = +Number(localStorage.getItem('whatever'))!;TypeScript restringe la conversión de tipo para valores potencialmente anulables para evitar problemas de escritura. Si seguramente desea convertir valor, puede usar:
Escriba la afirmación usando as palabra clave:
const num = +(localStorage.getItem('whatever') as unknown as string);Usando el operador de aserción no nulo :
const num = +localStorage.getItem('whatever')!;Usando el envoltorio primitivo numérico :
const num = Number(localStorage.getItem('whatever')); Todos los métodos convertirán null (también cualquier valor nulo) a 0 . Y debe manejar posibles NaN en cualquier caso.