【问题标题】:Need some help in understanding JavaScript datatypes [closed]在理解 JavaScript 数据类型方面需要一些帮助 [关闭]
【发布时间】:2021-06-26 21:11:42
【问题描述】:
  1. 为什么 JavaScript 需要数据类型?

  2. 我试图通过了解数据类型来了解 JavaScript 究竟会做什么?

  3. 在 JavaScript 中使用数据类型有什么好处?

  4. 根据数据的类型,是否会发生任何动态内存分配,或者是否有任何大小限制,例如 C 等某些语言的大小限制(例如:int:C 中的 2 个字节)?

【问题讨论】:

  • 编程语言的目的是对计算机进行编程,或者换句话说,组织它们的记忆。现在要组织内存,数据类型是基础。没有某种形式的数据类型(最原始的是字节)就没有语言
  • 由引擎为每种类型选择具体的数据结构。对于数字,64 位浮点是一个自然的选择,尽管有时引擎也可能会选择,例如改为 32 位整数。
  • 谢谢@JonasWilms 我明白了。以及 JavaScript 引擎如何在没有程序员提及的情况下知道数据的类型?我的意思是,仅通过检查引号 / ascii 之类的字符就知道了吗?
  • 每种数据类型都有文字(符号除外),以及构造它们的内置函数

标签: javascript types theory


【解决方案1】:
  1. 所有语言都必须实现某种类型的系统。 Javascript 是动态类型的,这意味着它采用您分配给它的任何类型(例如 var num = 5。Num 采用“数字”的类型)。
  2. 通过了解数据的类型,javascript 将知道对该数据执行哪些操作。例如:2+2=4,但“2”+“2”=22。
  3. 您很可能不必担心数字数据类型的内存大小限制。我不知道字符串,但 javascript 中的数字是无限的。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Memory_Management 获取有关内存管理的信息。

【讨论】:

  • 在有限存储中没有什么是无限的。有一个最大的数和一个最长的字符串。
  • 我认为字符串可以任意长,但是 JS 中的所有数字都是双倍的,所以不像例如Python 的任意精度整数对数值的大小有限制。因此developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/….
  • @jonrsharpe 不,字符串的.length 被限制在安全的整数范围内,因为这样的字符串有一个上限(尽管一个非常大)。
  • @JonasWilms 啊,鉴于我刚才所说的,我想这是有道理的!感谢您的澄清。
猜你喜欢
  • 1970-01-01
  • 2012-02-02
  • 2011-03-17
  • 1970-01-01
  • 2018-06-08
  • 2021-02-12
  • 1970-01-01
  • 1970-01-01
  • 2018-10-15
相关资源
最近更新 更多