Javascript 数据类型

ECMAJavascript有五种基本(原生)数据类型,两种复杂(特殊)数据类型;

五种基本数据类型分别是:Number、String、Undefined、Boolean、Null;

两种复杂数据类型:Object、Symbol

一、Number类型

JS没有将数字类型细分,统称为Number类型,包含Float(浮点型)和Int(整型),数字类型的操作就如同我们生活中对数的运算一样,也有加(+)减(-)乘( * )除( / ),但是正无穷这个概念我们以前就遇见过,js中也有,下面就一起来看看JS的这几个特殊类型。

(1)、Infinity

Infinity有正负之分,Infinity代表的是数学概念中的正无穷大,+Infinity是一个比任何数字都大的特殊值,-Infinity是比任何一个数字都小的特殊值,一般都只说Infinity,不说正负,但是需要注意的是,在数学中我们说正无穷+1与正无穷基本没有区别,但是在计算机中Infinity+1始终大于Infinity;

使用方法:a、可以通过除以 0 来得到它 。

b、也可以直接在程序中使用它。

(2)NAN)(理解为“非数”)

NAN代表的是计算错误,意思就是无法进行数值运算,需要注意的是如果在数学表达式计算中有一步出现NAN,那么最终的结果一定就是NAN;

NAN的出现,让JS变得安全了很多,在其它语言中,任何数值除以非数值都会导致错误,从而停止代码的继续执行,但是在JS中,任何数值除以非数值会返回NAN,但是不影响后续代码的执行。

说明:由于number类型代表的数只能在2的正53次幂与2的负53次幂之间,但是有时我们会用到超过其代表数的情况,虽然次数不多,因此在最新的ECMAJavascript版本中,增加了BigInt,用来代表任意长度的整数,书写方法与数值类型有一点区别,它是通过将 n附加到整数字段的末尾来创建 BigInt。

二、String(字符串)类型

在js中,字符串必须被包含在引号里面,有三种包含字符串的方式,分别是单引号、双引号和反引号(tab键上面,1左边的键),单引号和双引号都是一种简单的引用,不像PHP的双引号可以解析变量,但是js的反引号可以解析表达式和变量,并且计算结果也会成为字符串的一部分,写法为:${表达式}

说明:(1)、解析表达式的写法仅在反引号内有效,其他引号不允许这种嵌入;

(2)、单引号形式的字符串,必须以单引号结尾,双引号形式的字符串必须是双引号结尾,不能相互嵌套。

三、Undefined

undefined的含义是未被赋值,如果我们定义了一个变量,但没有给变量赋值即变量未初始化,那么变量的值就是 undefined;

说明:包含undefined值得变量和没有定义的变量是有区别的,后面讲typeof()操作符时会讲到。

四、NULL

NULL和undefined一样属于一个单独的数据类型,NULL表示没有、空的;

注:在JS中,变量一旦被定义,就无法销毁,始终存在于内存中,如果我们定义了一个变量,以前赋予的值现在不用了,但是声明的变量可能在以后某天会用到,可以为它赋值为NULL;

五、Boolean (布尔)类型(逻辑类型)

注意:(1)、Boolean的值区分大小写,只有全部小写的true和 false才是布尔值,其它的例如大写或者大小写混合只是标识符。

(2)、布尔值通常用于储存表示yes或者no的值。

(3)、也可以作为比较的结果值;

六、object 类型和 symbol 类型

ECMAJavascript的对象其实就是一组数据和功能的集合,有个概念就行。

七、Typeof()操作符

我们在声明变量时,并没有像JAVA等语言一样指定数据类型,这是因为js是一种弱类型语言(松散类型),由值决定类型,例如:let age = 23;这里的变量age是Number类型,因此需要用一种手段来检测给定变量的数据类型:typeof就是负责这方面信息的操作符。它支持两种语法形式:

1.作为运算符:typeof (空格) x。

2.函数形式:typeof(x)。

以下是一些常见的typeof值:

console.log(typeof '1213')            //string
console.log(typeof 100)               //number
console.log(typeof true)              //boolean
console.log(typeof undefined)    //undefined
console.log(typeof null)              //object    

说明:(1)、typeof null 的结果是 "object"。这是一个错误,并且js官方也承认这是js的一个错误,现在只是为了旧版本的兼容性而保留了下来。从以上的学习中我们可以看出,null并不是一个 object类型。null有自己的类型,而且是基本数据类型之一,是一个特殊值。

(2)、所有调用typeof()的结果都会以字符串的形式返回数据类型,换句话说:所有typeof()返回的数据都是字符串。

总结

JavaScript 中有七种数据类型(前五种为基本数据类型,也称为原始类型,而

object为复杂数据类型)。

1、number (数字类型): 用于任何类型的数字:整数或浮点数。

2、string(字符串) :一个字符串可以包含一个或多个字符。

3、boolean(布尔):仅包含小写的true和 false。

4、null:空值 —— 只有一个 null。

5、undefined:用于未定义的值

6、symbol: 用于唯一的标识符。

7、object:用于更复杂的数据结构。

8、typeof:查看数据类型。

运算符查看存储在变量中的数据类型。

两种形式:typeof x或者 typeof(x)。

注意:(1)、所有typeof()返回的数据都是字符串。

(2)、typeof null会返回 "object"是 JavaScript 编程语言的一个错误。一定要记住这是错误的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值