JS学习篇(二) JavaScript七种数据类型

本文详细介绍了JavaScript的七大原始数据类型:Boolean、Null、Undefined、Number、String、Symbol和Object,包括各自的特性和用途。文章通过实例展示了类型转换、比较操作以及typeof操作符的用法,帮助读者深入理解JS数据类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要了解一门语言,首先要了解它的数据类型有哪些?他们之间有什么关系?能否互相转换等。

目前,JavaScript(下称JS)中有七大数据类型,它们分别是:

1. Boolean         布尔型

2. Null                空

3. Undefined     未定义

4. Number         数字型

5. String            字符串型

6. Symbol         符号型

7. Ojbect           对象

 

记得在“JS学习篇(一) JavaScript语言特性”中有提到过,JS是一门动态脚本语言,这主要体现在JS的变量可以是变化的,而不是固定的:

var foo = 42;    // foo是一个Number
foo = "bar"; // 现在foo是一个String
foo = true;  // 现在foo是一个Boolean

 

下面将展开各类型的介绍:

布尔型Boolean

布尔类型只有两个值:true和false,它们分别代表逻辑上的真与假,真代表true,假代表false,它们通常用在逻辑语句的判断上。

空Null

Null类型只有一个值:null ,它代表变量值为空(注意与下面的未定义Undefined区分),通常表示变量未指向任何值或者对象。在API调用过程中null常在返回类型是对象,但没关联值的地方使用。

未定义Undefined

Undefined类型只有一个值:undefined,未被初始化的变量都有默认值undefined,undefined既是一个类型也是一个值,undefined值是undefined类型的唯一值。

undefined与null有区别,首先在概念上已经划分了这是两种类型,那么undefined强调的是变量未初始化,而null则代表变量有值,只是这是一个空值。在JS解释器中执行下面代码:

// foo不存在,它从来没有被定义过或者是初始化过:
foo;
"ReferenceError: foo is not defined"

// foo现在已经是知存在的,但是它没有类型或者是值:
var foo = null; 
foo;
null

可以看到一开始就运行"foo;'"去访问foo的值得到错误提示“ReferenceError: foo is not defined”,代表foo未定义;而后面通过“var foo = null;”定义了foo并赋值,此刻foo是有值的,这个值就是null(代表空值)。

另外,null是一个字面量(就是一个值表示),它类似于“hello”或者42这样一个字符串或者数字字面量,只是它代表是一个空(什么都没)的值。而undefined是JS环境中全局对象的一个属性,也就是说它是一个全局变量,里面存着一个undefined的值。

上面说的比较复杂拗口,可能用实际代码来演示比较直接,这里用==和===操作符来演示,可以在JS解释器中执行以下代码以查看结果:

typeof null        // "object" (因为一些以前的原因而不是'null')
typeof undefined   // "undefined"
null === undefined // false
null  == undefined // true
null === null // true
null == null // true
!null //true
isNaN(1 + null) // false
isNaN(1 + undefined) // true

可以看到其中一条比较特别的“null =&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值