ES6中的typeof(Symbol())是什么?

时间:2018-04-16 15:27:31

标签: javascript symbols

所以,我们只有console line,我们可以在其中调试typeof(Symbol())。但是我们得到了什么 - 它是symbol。我们知道JS中有几种类型的数据:

string, boolean, number - 原语;

undefined - 特殊非入级;

null - object(对象的特殊子类);

object - 对象;

function - 函数(对象的特殊子类)。

那么JS中这些类型的哪一组对应Symbols以及为什么?

网络中的一些答案说,它有原始的行为,但没有说明原因......

2 个答案:

答案 0 :(得分:2)

“symbol”数据类型本身就是一个原语。你会看到它列在下面。

https://developer.mozilla.org/en-US/docs/Glossary/Primitive

答案 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值