ECMAScript基础(原始类型)

 ECMAScript5原始类型primitive type),即UndefinedNullBooleanNumberStringECMA-262把术语类型type定义为值的一个集合,每种原始类型定义了它包含的值的范围及其字面量表示形式。ECMAScript提供了typeof运算符来判断一个值是否在某种类型的范围内。可以用这种运算符判断一个值是否表示一种原始类型;如果它是原始类型,还可以判断它表示哪种原始类型。

typeof运算符有一个参数,即要检查的变量或值。

对变量或值调用typeof运算符将返回下列值之一:

"undefined",如果变量是Undefined型的。

"boolean",如果变量是Boolean型的。

"number",如果变量是Number型的。

"string",如果变量是String型的。

"object",如果变量是一种引用类型或Null类型的。

你也许会问,为什么typeof运算符对于null值会返回"object"。这实际上是JavaScript最初实现中的一个错误,然后被ECMAScript沿用了。现在,null被认为是对象的占位符,从而解释了这一矛盾,但从技术上来说,它仍然是原始值。

Undefined类型

如前所述,Undefined类型只有一个值,即undefined。当声明的变量未初始化时,该变量的默认值是undefined

Null类型

另一种只有一个值的类型是Null,它只有一个专用值null,即它的字面量。值undefined实际上是从值null派生来的,因此ECMAScript把它们定义为相等的。

尽管这两个值相等,但它们的含义不同。undefined是声明了变量但未对其初始化时赋予该变量的值,null则用于表示尚未存在的对象(在讨论typeof运算符时,简单地介绍过这一点)。如果函数或方法要返回的是对象,那么找不到该对象时,返回的通常是null

Boolean类型

Boolean类型是ECMAScript中最常用的类型之一。它有两个值truefalse(即两个Boolean字面量)。即使false不等于00也可以在必要时被转换成false,这样在Boolean语句中使用两者都是安全的。

Number类型

ECMA-262中定义的最特殊的类型是Number型。这种类型既可以表示32位的整数,还可以表示64位的浮点数。直接输入的(而不是从另一个变量访问的)任何数字都被看作Number型的字面量。

几个特殊值也被定义为Number类型的。前两个是Number.MAX_VALUENumber.MIN_ VALUE,它们定义了Number值集合的外边界。所有ECMAScript数都必须在这两个值之间。不过计算生成的数值结果可以不落在这两个数之间。

最后一个特殊值是NaN,表示非数Not a Number)。NaN是个奇怪的特殊值。一般说来,这种情况发生在类型(StringBoolean等)转换失败时。例如,要把单词blue转换成数值就会失败,因为没有与之等价的数值。与无穷大值一样,NaN也不能用于算术计算。NaN的另一个奇特之处在于,它与自身不相等,这意味着下面的代码将返回false。

String类型

String类型的独特之处在于,它是唯一没有固定大小的原始类型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值