MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

Symbol は、そのインスタンスがユニークで不変なプリミティブデータ型です。いくつかのプログラミング言語では、atom と呼ばれています。

JavaScriptでは、Symbol はprimitive valuesの1つで、Symbol オブジェクトは、プリミティブ値の Symbol のwrapperです。

Symbol はオプションとして説明を持てますが、これはデバッグでのみ利用されます。

Symbol 型は EcmaScript 6 (es6) の新たな特徴で EcmaScript 5 に同様のものはありません。

Symbol("foo") !== Symbol("foo")
const foo = Symbol()
const bar = Symbol()
typeof foo === "symbol"
typeof bar === "symbol"
let obj = {}
obj[foo] = "foo"
obj[bar] = "bar"
JSON.stringify(obj) // {}
Object.keys(obj) // []
Object.getOwnPropertyNames(obj) // []
Object.getOwnPropertySymbols(obj) // [ foo, bar ]

より詳しく知るには

一般知識

ドキュメントのタグと貢献者

 このページの貢献者: kenji-yamasaki, chikoski, YuichiNukiyama
 最終更新者: kenji-yamasaki,