Можно ли хранить целочисленное значение в localStorage, как в объектах Javascript, и извлекать его без типизации?

когда я назначаю целочисленное значение элементу localStorage

localStorage.setItem('a',1)

и проверьте его тип

typeof(localStorage.a)
"string"

возвращает строка, я могу напечатать его на int для моего использования

parseInt(localStorage.a)

мой вопрос Можно ли хранить целочисленное значение внутри localStorage, как я могу сделать для объектов Javascript без типизации?

a={};
a.number=1;
typeof(a.number)
"number"

2 ответов


мой вопрос Можно ли хранить целочисленное значение внутри localStorage, как я могу сделать для объектов Javascript без типизации?

нет.

объекты хранения-это простые хранилища ключей, похожие на объекты, но они остаются неповрежденными при загрузке страниц. Ключи могут быть строками или целыми числами, но значения всегда строки. [источник]


На самом деле вы можете, если мы согласимся, что разбор не то же самое, что и типизация:

let val = 42;
localStorage.answer = JSON.stringify(val);
let saved = JSON.parse(localStorage.answer);
console.log( saved === val ); // true

Скрипка так как сверхзащищенные stacksnippets не позволяют localStorage.

для простоты вы должны в любом случае всегда stringify в JSON, что вы сохраняете в localStorage, таким образом, вам не нужно думать о том, что вы сохраняете / извлекаете, и вы избежите "[object Object]" сохраняется.