所以,我们只有console line
,我们可以在其中调试typeof(Symbol())
。但是我们得到了什么 - 它是symbol
。我们知道JS中有几种类型的数据:
string, boolean, number
- 原语;
undefined
- 特殊非入级;
null
- object(对象的特殊子类);
object
- 对象;
function
- 函数(对象的特殊子类)。
那么JS中这些类型的哪一组对应Symbols
以及为什么?
网络中的一些答案说,它有原始的行为,但没有说明原因......
答案 0 :(得分:2)
“symbol”数据类型本身就是一个原语。你会看到它列在下面。
答案 1 :(得分:1)
ECMAScript 2015定义a Symbol as its own kind of primitive:
4.3.25符号值
原始值,表示唯一的非String对象属性键
将此语言与规范对字符串和数字类型的定义进行比较,您将看到它是规范定义基本类型的标准方式:
4.3.17字符串值
原始值,它是零或更多16位无符号整数的有限有序序列
和
4.3.20数值
原始值对应于双精度64位二进制格式IEEE 754-2008值