JavaScript 数据类型

2022.04.24

数据类型分类

基本类型(值类型):

  • String 字符串型
  • Number 数字型
  • Boolean 布尔型:true / false
  • undefined:undefined
  • null:null

对象类型(引用类型):

  • Object 任意对象
  • Function 函数对象:可以执行
  • Array 数组对象:数值下标,内部数据有序

判断数据类型

typeof返回数据类型的字符串表达:

  • 可以判断除了null以外的基本数据类,typeof null输出的是’object'

  • 不能判断除了function以外的对象类型,其他对象类型均会输出’object'

instanceof可以判断对象的具体类型,即实例对象是由哪个类型对象实例化出来的。

===可以判断undefined、null。

undefined与null

两者区别?

  • undefined表示定义了但未赋值。null表示定义并赋值了,但值为null。

什么时候给变量赋值为null?

  • 变量的初始值赋值为null,表示该变量后面将会被赋值为一个对象。

  • 变量的后期赋值为null,可以让该变量指向的对象成为垃圾对象,从而被JS的垃圾回收机制所回收。

严格地区分数据的类型和变量的类型

JavaScript是一种弱类型、动态的语言,不需要提前声明变量的类型,程序在运行过程中,变量的类型会被自动确定,且类型可以被修改。

若要严格地区分变量的类型和数据的类型,则两者分类如下:

变量的类型,即变量内存值的类型:

  • 基本类型:保存的是基本类型的数据值

  • 引用类型:保存的是对象类型的地址值

数据的类型:基本类型和对象类型。