SymbolsがES2015に追加されたことは知っていましたが、それについてはあまり読み上げていませんでした。私は今少し読んだことがあり、その目的は明らかに私が思っていたものではありません。プライベート属性を作成する方法を提供することが意図されているようです。私が理解しているのは、一部の機能的言語の原子に似ていて、バックアップされているのがhereであるということでした。思われるシンボルを使用して上記の場合ES2015シンボルは、文字列の代わりに固有の定数値として使用できますか?
export const FOO = 'This value is irrelevant as long as its unique';
// or
export const FOO = Symbol('A sensible description of what foo represents');
switch(blah):
case FOO: do_something();
...
:私はそれは奇妙な、それは完全に私がincrorrectlyパターンマッチングのための文字列に、より意味のある代替手段を提供していた彼らの主な理由であったと想定していたものを言及しなかったことがわかります偶発的な衝突(つまり、同じ文字列に等しい2つの定数を作成する)から保護するという点で数多くの利点を持ち、毎回ユニークな文字列を出す負担を取り除き、そのコードについて誰かに明確な示唆を与えます意図された目的。最後の配慮は、Symbolが何のために使われるべきかの私の解釈に同意する他の人々にある程度依存しています。
とにかく、これはSymbolsの良いユースケースですか、そうでない場合はどうですか?
Symbolが何であるかを理解している人々の間に意見の相違があるとは思わない。これは、オプションでプロパティとして使用できるユニークなトークンです。 – estus