龙空技术网

细数JavaScript中的那些数据类型

前端or奶爸 101

前言:

当前朋友们对“javascript有几种数据类型”大致比较注意,姐妹们都想要剖析一些“javascript有几种数据类型”的相关文章。那么小编同时在网摘上汇集了一些对于“javascript有几种数据类型””的相关资讯,希望看官们能喜欢,同学们一起来了解一下吧!

每种编程语言都有自己的数据表示方式。

在JavaScript中,有7种数据类型。

Number类型

JavaScript中的数字存储为64位浮点,并且可以使用内置的操作符进行操作。

有几个值得注意的数字案例:

最大安全整数:可以100%精度表示的最大整数由常量Number.MAX_SAFE_INTEGER给出,等于2^53-1或9007199254740991。数字总是有符号的,所以Number.MAX_SAFE_INTEGER给出最小安全整数,即-1倍最大安全整数。

最大值:可以存储的最大值由常量Number.MAX_VALUE值给出,等于2^1024-1或1.7976931348623157e+308。同样,最小值是最大值的-1倍。

最小值:大于0的最小值由常量Number.MIN_VALUE值给出,等于2^-1074或5e-324。

Epsilon: 1 与大于 1 的最小浮点数之间的差由常量Number.EPSILON给出,为2^-52或2.220446049250313e-16。

Infinity:如果一个数字超出上述极限,它将是无穷大或负无穷大。我们可以使用函数Number.isFinite来检查这种情况。涉及无穷大的一些常见情况是:1/0==无穷大,1/Infinity==0。

NaN:NaN是任何“不是数字”的东西。如果试图将无效的非数字转换为数字,则会得到NaN。任何使用NaN的算术运算都将导致NaN,而不是抛出错误。我们可以用Number.isNaN检查一个数字是否为NaN。

我们可以通过以下几种方式创建数字:

我们还可以执行一些基本的内置操作:

我们也可以使用一些二进制操作,但要小心,这些操作会将两个术语都截断为有符号整数:

更复杂的操作可通过内置Math库获得:

String类型

字符串总是通过引号声明:

单引号和双引号字符串在JavaScript中是相同的。倒引号是模板文本,允许以下所示的扩展功能:

任何合法表达式都可以嵌入在倒引号字符串的大括号中,包括函数调用、变量,甚至其他字符串。

字符串还可以与加法运算符连接:

Boolean类型

布尔值是逻辑值,可以是真的,也可以是假的。它们是逻辑比较的结果:

Symbol类型

符号是从字符串键创建的唯一值。从同一个键创建的两个符号不相等。

还有一个符号注册表,它在整个JavaScript过程中共享。您创建的符号不会出现在注册表中。相反,您必须使用Symbol.for检索它们。如果尝试检索注册表中不存在的符号,将添加一个符号,并且该项的所有后续请求都将返回该符号。

最后,您可以检查符号是否来自带有Symbol.keyFor的注册表,它将检查注册表中的符号,如果存在则返回其键,否则将返回undefined的键。

Object类型

对象是键/值对的集合,其中键是字符串,值可以是任何类型,甚至是其他对象。对象文本由成对键列表定义:值,逗号分隔,用大括号括起来。

可以从对象访问值,对象的点运算符后跟键名,或者方括号将键作为字符串括起来。

undefined类型

undefined是表示数据不存在的全局变量。尝试访问不存在的对象上的键时,结果将返回undefined。

void关键字可用于忽略表达式的输出。写入void x或void(x)将计算x,并返回undefined

Null类型

Null用于表示缺少标识,并且只能来自文本表达式。

Null通常用于表示可能需要某些内容,但当前不可用。例如,如果一个数据库被表示为一个对象,并且每次接收到新数据时都添加键,那么预期的键就可以初始化为空。这样,如果访问了一个密钥,用户就知道还没有什么,但是该密钥是正确的。

比较null值和undefined值时要小心,因为它们之间存在松散的不等式:

标签: #javascript有几种数据类型