Undefined类型

  • 只含有underfined一个值

  • 变量定义但未初始化时自动赋予underfined

  • 变量定义但未初始化和未定义是不同的

    1
    2
    3
    let message;
    console.log(message);//underfined
    console.log(mix)//Error
  • underfined常用于比较来确定变量是否初始化/赋值了

    1
    2
    let message = underfined;
    console.log(message == underfined);//true
  • 变量无论是声明还是未声明,typeof 返回的都是字符串”undefined”

  • undefined 是一个假值

    1
    2
    3
    4
    5
    6
    7
    let message;
    if(message){
    console.log("变量初始化了!")
    }else{
    console.log("变量未初始化!")
    }
    //变量未初始化

Null类型

  • 只有一个值:null,表示一个空对象指针
  • undefined是由null派生而来的,表面上相等
  • null是一个假值
  • 当变量要保存对象但没有对象来保存可以用null填充

Boolean类型

  • 有两个字面值:true和false
  • 布尔值不同于数值,即:true!=1,false!=0
  • 其它类型的值可以转化为布尔类型
数据类型 转为true 转为false
Boolean true false
String 非空字符串 空字符串
Number 非零数值(包括无穷) 0,NaN
Object 任意对象 null
Underfined N/A(不存在) underfined