C#からLisp、ScalaからHaskellまでのすべての言語で作業していた言語に関して、私はブロックを巡っていました。シンボルをサポートしているすべての言語でシンボルはほとんど同じでした。つまり、同じ名前の2つのシンボルは、シングルトンオブジェクトであるため同一であることが保証されています。ES6シンボルの理解
ラケット:(equal? 'foo 'foo)
真
のCommon Lisp:(eq 'foo 'foo)
真
ルビー::foo == :foo
真
スカラ:'foo == 'foo
真
ES6:Symbol('foo') === Symbol('foo')
偽
シンボルがシングルトンであることの利点は明らかです:あなたのキーがあなたの入力と等しくないようにするために、マップ/辞書でそれらを使用することができます。なぜなら、言語が突然異なる方法でハッシュすることになるからです(Rubyを見て)。
ECMAScript 6はこれに対して別のアプローチをとっており、どうすれば回避できますか?
なぜ 'sort-of' - 'それを乗り越えるための良い方法だと思われるのですか? –
@JaromandaXよく彼らはどのようなスコープでもありませんが、私が知っている他の言語のシンボル、Clojure、...それは私が現時点で考えることができるすべてです)。 – Pointy
この回答は「理由」には該当しません。 – Ben