JavaScript高级程序设计 第三章 数据类型 笔记

这篇笔记详细介绍了JavaScript的六种简单数据类型(Undefined、Null、Boolean、Number、String、Symbol)和复杂数据类型Object,包括typeof操作符的使用、Undefined类型的特殊性、Null类型的逻辑含义、Boolean类型真值和假值的定义、Number类型的取值范围以及处理浮点数的注意事项,还有String类型的不可变特性及模板字面量的使用。
摘要由CSDN通过智能技术生成

总结了第三章数据类型部分自己觉得比较关键的部分。Symbol数据类型和Object类型还没加,以后再改

数据类型

ECMAScript有六种简单数据类型和一种复杂数据类型。

简单数据类型(也称为原始类型):Undefined、Null、Boolean、Number、String、Symbol。

复杂数据类型:Object(对象)。Object是一种无序名值对的集合。

字面量:字面量表示如何表达这个值(即为一眼看过去就知道是多少的数据),如3、10、3.14、'wudi’等。

1 typeof操作符

typeof操作符用于确定一个变量的数据类型,对一个值使用typeof操作符会返回一个字符串以表示其类型:

返回值 描述
“undefined” 表示值未定义
“boolean” 表示值为布尔值
“string” 表示值为字符串
“number” 表示值为数值
“object” 表示值为对象(而不是函数)或null
“function” 表示值为函数
“symbol” 表示值为符号

需要注意typeof null返回值是"object",这是因为特殊值null被认为是一个空对象的引用

2 Undefined类型

Undefined类型是简单数据类型,其值只有一个,即特殊值undefined。当使用var或let声明了变量但是没有初始化时,就相当于给变量赋予undefined值

var age;
console.log(age);//输出undefined

默认情况下,任何未经初始化的变量都会取得undefined值,因此下面等式成立

var age;
console.log(age == undefined);//返回true

增加特殊值undefined的目的就是为了区分空对象指针(null)和未初始化变量

需要注意,对于未声明的变量,只能执行一个操作,即typeof操作符。对未声明的变量使用typeof也返回"undefined"

var a;
console.log(typeof a);//"undefined"
console.log(typeof b);//"undefined"

JavaScript中的真值和假值

JavaScript中每个值都可以转换为布尔类型,转换后为true的就是真值,转换后为false的就是假值。JavaScript中的假值有false、null、undefined、0、’’、NaN

undefined是一个假值,除了undefined之外还有很多值也是假值。可以对这些假值进行检测,但是需要明确自己要检测的就是undefined这个字面值。

var a;
if(a){
   
    //该块不会被执行
}
if(!a){
   
    //该块会被执行
}
3 NULL类型

Null类型是简单数据类型,它的值只有一个,即特殊值null。逻辑上讲null值表示一个空对象指针,因此typeof null返回"object"。

console.log(typeof null);//"object"

在定义将来要保存对象的变量时,建议声明时直接用null进行初始化,不要用其他值。

undefined值是由null值派生来的,因此ECMA-262将其定义为表面上相等

console.log(null == undefined);//"true"

null同样是一个假值(转换为Boolean后为false),因此可以对它进行检测。但是因为共有6个假值,因此需要确定检测的就是null这个字面值。

let msg = null;
if(msg){
   
    //这个块不会被执行
}
if(!msg){
   
    //这个块会执行
}
4 Boolean类型

布尔类型是简单数据类型,它有两个字面值:true和false。需要注意这两个字面值不同于数值,因此true不等于1,false不等于0。

所有ECMAScript类型都能转换为Boolean类型,只需调用Boolean()函数即可。即Boolean()转型函数可以在任意类型的数据上使用,并返回一个布尔

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值