だから、私たちが持っているすべて console line
そして私達はデバッグすることができます typeof(Symbol())
その中に。しかし、私たちが得るもの - それは symbol
。ご存じのとおり、JSにはいくつかのタイプのデータがあります。
string, boolean, number
- プリミティブ
undefined
- 特別なノンクラス
null
- オブジェクト(オブジェクトの特別なサブクラス)
object
- オブジェクト
function
- 関数(オブジェクトの特別なサブクラス)
それで、JSのこれらの型のどのグループに対応するのか Symbols
なぜ?
ネットワーク内のいくつかの回答によると、それは原始的な振る舞いをしていますが、その理由を説明せずに...
回答:
回答№1は1ECMAScript 2015で定義されている それ自身の種類のプリミティブとしてのシンボル:
4.3.25シンボル値
一意の、String以外のObjectプロパティキーを表すプリミティブ値
この言語と、文字列型および数値型の仕様の定義とを比較してください。仕様が原始型を定義する標準的な方法であることがわかります。
4.3.17文字列値
ゼロ以上の16ビット符号なし整数の有限順序シーケンスであるプリミティブ値
そして
4.3.20数値
倍精度64ビットバイナリ形式のIEEE 754-2008値に対応するプリミティブ値
回答№2については2
"シンボル"データ型はそれ自体がプリミティブです。あなたはそれが以下にリストされるのを見るでしょう。
https://developer.mozilla.org/en-US/docs/Glossary/Primitive