私は、ES6シンボルを探索、彼らが何であるかを理解しようと、私はこの現象を回避シンボルがキーとして使用されたかどうかを確認するにはどうすればよいですか?
> let sym = Symbol()
> let a = {}
> a[sym]= "value"
'value'
> a
{}
> Object.keys(a)
[]
> Object.getOwnPropertyNames(a)
[]
> a[sym]
'value'
> a[Symbol()]
undefined
> JSON.stringify(sym)
undefined
> JSON.stringify(a)
'{}'
> sym
Symbol()
を私の頭をラップすることはできませんよ、私はまだ記号を理解していないんだけど、どこにキーと値の隠蔽はありますか?!? Javaスクリプトが魔術と魔術の領域に入り込んだのか?とにかくそこにあると言うことはありますか?
EDIT ::
は(Object.getOwnPropertySymbolsについて私に通知していただきありがとうございます)。
ES6では、非表示の非表示プロパティのObject.getOwnPropertyNames()とObject.getOwnPropertySymbols()をチェックする必要がありますか?
「シンボルは一意かつ不変のデータ型であり、オブジェクトプロパティの識別子として使用できます。シンボルオブジェクトは、シンボルプリミティブデータ型の暗黙のオブジェクトラッパーです。」 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol – pherris
既存のものと存在しないものの両方を重ね合わせるのですか?どのようにシンボルをSchrödingerCats()に変更するのですか? – lonewarrior556
'Object.getOwnPropertySymbols(a)'でそれらを得ることができます。 – pherris