如何正确设置localStorage变量

在 localStorage 中设置变量的正确方法是什么?

localStorage.hello = 'world'

或者

localStorage.setItem('hello','world')

回答

使用的方法不太可能重要。标准列出了以下方法是等效的:

storage.setItem (key, value)
storage[key] = value

将键标识的对的值设置为值,如果之前不存在键,则创建一个新的键/值对。

在非常不寻常的情况下,setItemandgetItem比点符号分配或检索更可取的是原型上的属性可能会被引用 - 例如 with.length.__proto__。(但动态存储键是一个非常糟糕的主意 - 最好将它们组织成自己的数组或单个存储键中的对象。如果键不是动态的,那么这种冲突不应该在理智的代码中发生,除非有人忘记了这一点length被预定了)

有关lengthwith 点表示法的有问题使用的示例:

localStorage.length = '123'
console.log(localStorage.length)

不会给你123,而是存储中的密钥数量。(分配默默地失败了。)另一方面,使用setItemgetItemlength(或任何其他任意字符串)将起作用。

getItem并且setItem比点表示法更兼容 TypeScript 和 Flow 等类型检查系统。

就我个人而言,当我不使用 TypeScript 并且存储键是静态的时,我使用点表示法,因为它更简洁并且不会引起任何问题。


以上是如何正确设置localStorage变量的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>