【问题标题】:What is the difference between Primitive data type and Non - Primitive data type in JavaScript? [duplicate]JavaScript中的原始数据类型和非原始数据类型有什么区别? [复制]
【发布时间】:2019-01-06 19:30:57
【问题描述】:

最新的 ECMAScript 标准有 7 种数据类型:

  • 原语:
    • 布尔值。
    • 空。
    • 未定义。
    • 字符串。
    • 号码。
    • 符号(ECMAScript 2015 中的新功能)。
  • 非原始:
    • 对象。

那么,原始数据类型和非原始数据类型有什么区别? 非常感谢您的支持。

【问题讨论】:

  • 参见ecma-international.org/ecma-262/9.0/…“原始值是直接在语言实现的最低级别表示的数据。”和“对象是属性的集合,并且有一个原型对象。原型可能是空值。" .换句话说,对象是其他值的集合。
  • @HereticMonkey 这是同一个问题,但得到的答案很糟糕。
  • 只有对象才能有属性。
  • @Bergi 随意回答一个不可怕的答案并相应地设置欺骗......

标签: javascript


【解决方案1】:

它们之间的主要区别在于原始数据类型是不可变的值,而对象是可变的。

【讨论】:

  • 虽然可以使对象不可变。我想说主要区别在于对象基本上是其他值的集合。
【解决方案2】:

JavaScript 中原始和非原始/复杂数据类型之间的区别在于,复杂数据类型(数组和对象)可以存储其他类型的数据——它们可以存储复杂和原始数据类型,就像您可以嵌套一样/ 多维数组和对象,但它们也可以包含所有原始数据类型。

还有一个非常简单的方法来考虑那一口:

如果它有括号,它可以容纳任何东西。

希望这会有所帮助!

【讨论】:

  • “如果有括号”是什么意思?
猜你喜欢
  • 2016-01-21
  • 2016-01-02
  • 2014-03-22
  • 2013-01-06
  • 2012-02-06
  • 2011-02-17
  • 2021-10-27
  • 2016-09-26
  • 1970-01-01
相关资源
最近更新 更多