sjb*_*sse 4 javascript local-storage ecmascript-6
当使用 ES6Symbol作为 中的键/值对的键时LocalStorage,我们在重新加载页面后仍然可以访问它吗?
我发现本教程声称在使用 时这是可能的Symbol.for,但到目前为止我没有成功,并且undefined当我尝试检索 LocalStorage 键/值对时得到一个。
Symbols作为一个附带问题:在这里使用有意义吗?
您可以使用符号作为对象中的键 - 这是它们的目的之一。但这localStorage不是您的典型对象。它有一个 API 可以在商店中设置/获取值,您共享的教程未使用该 API:localStorage.{set,get}Item()。
不幸的是,localStorage不接受符号作为键,只接受字符串。所以真正的答案是否定的,你不能使用符号作为 LocalStorage 中的键,但是......
您可以执行以下操作。它实际上并不是使用符号作为键,而是使用符号toString()表示:
const sym = Symbol.for('Hello').toString()
localStorage.setItem(sym, 'World')
document.write('Hello, ' + localStorage.getItem(sym))
Run Code Online (Sandbox Code Playgroud)
作为一个附带问题:在这里使用符号有意义吗?
我想你可以使用保留符号(例如Symbol.iterator)来扩展全局的功能localStorage。但这有点离题了。
| 归档时间: |
|
| 查看次数: |
1445 次 |
| 最近记录: |