記号をオブジェクトのキーとして使用することができます。これは最終的に目的です。しかし、localStorage
は典型的なオブジェクトではありません。ストアに値を設定/取得するためのAPIがあります。チュートリアルにはlocalStorage.{set,get}Item()
が使用されていません。
残念ながらlocalStorage
はシンボルをキーとして受け付けません。文字列のみを受け取ります。実際の答えはいいえではありませんが、SymbolsをLocalStorageのキーとして使用することはできませんが、...
次のことを行います。これは、実際にはキーとしてシンボルを使用しますが、シンボルtoString()
表現されていません:それはこっちの記号を使用しても意味がない:側の問題として
const sym = Symbol.for('Hello').toString()
localStorage.setItem(sym, 'World')
document.write('Hello, ' + localStorage.getItem(sym))
[Check it out on jsbin.com]
?
私はあなたがグローバルlocalStorage
の機能を拡張するために予約されたシンボル(例えばSymbol.iterator
)を使用する可能性があるとします。しかしそれはその要点のようなものです。
ここでは動作しない例を共有できますか?たとえば、jsbin.comで指定します。 – sdgluck