JS有六种简单数据类型(原始类型):Undefined、Null、Boolean、Number、String、Symbol;另外还有基本引用类型和集合引用类型。这篇文章将先从Undefined、Null、Boolean三者入手。
一、Undefined
只有一个值,即undefined
。
当使用var
或let
声明变量时,只要没有初始化,该变量的值就默认为undefined
:
let a
console.log(a)//"undefined"
console.log(a==undefined)//true
未初始化的变量与未定义的变量是有区别的,对于未定义的变量,会提示报错:
console.log(b)//报错
如果使用typeof,则不管是未初始化还是未定义,都会返回undefined。所以建议在声明变量的同时就要初始化,这样,返回undefined是我们就知道这个变量是没有声明,而不是声明了未初始化。(typeof在文章最底下有讲解)
let a
console.log(typeof a)//"undefined"
console.log(typeof b)//"undefined"
二、Null
只有一个值,即null
。null
表示一个空对象的指针,所以在定义将来要保存对象值的变量时,建议使用null来初始化。
let car=null;
console.log(typeof car)//"object"
这样,可以判断该变量是不是null来确定该变量是否后来被赋予了一个对象的引用:
if(cae!=null){
//如果car被赋予了对象引用,执行
}
三、Boolean
它有两个字面量:true和false。其他类型的值也有相应布尔值的等价形式。
可以通过Boolean()
转型函数将其他类型的值转为布尔值:
//字符串类型
Boolean('')//false
Boolean('111')//true
//数值类型
Boolean(0)//false
Boolean(NaN)//false
Boolean(1)//true
//对象
Boolean(null)//false
Boolean({a:1})//true
typeof操作符
判断变量的数据类型并返回字符串:
let message="str";
console.log(typeof message);//"string"
console.log(typeof (message);//"string"
console.log(typeof 95);//"number"