1、数据类型的分类与判断

  • A+
所属分类:Web前端
摘要

返回数据类型的字符串表达形式,支持两种语法:专门用来判断对象数据的类型: Object, Array 与 Function


分类

  • 基本(值)类型
    • String: 任意字符串
    • Number: 任意的数值,三个特殊值: Infinity, -Infinity, NaN.
    • Boolean: true/false
    • undefined: undefined, 变量声明未赋值, is reserved as a default initial value for unassigned things.
    • null: null,表示“nothing”, “empty”, “value unknown”.
  • 对象(引用)类型
    • Object: 任意对象
    • Function: 一种特殊的对象(可执行)
    • Array: 一种特殊的对象(数值下标, 内部数据有序)

判断

typeof

返回数据类型的字符串表达形式,支持两种语法:

  • 作为操作符: typeof x
  • 作为函数: typeof(x)
typeof undefined // "undefined" typeof 0 // "number" typeof 10n // "bigint" typeof true // "boolean" typeof "foo" // "string" typeof Symbol("id") // "symbol" ? typeof Math // "object"  typeof null // "object", 无法区分 null 与 object 类型 typeof [1,2] // "object", 无法区分 array 与 object 类型 typeof alert // "function",可以区分 function 与 object 类型 

instanceof

专门用来判断对象数据的类型: Object, Array 与 Function

===

只能判断具有唯一值的类型,即: undefined, null


相关问题

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

  • var a = null //初始赋值, 表明将要赋值为对象
  • a = null //结束前, 让对象成为垃圾对象(被垃圾回收器回收)

2、严格区别变量类型与数据类型?

变量本身是没有类型的, 变量的类型实际上是变量内存中数据的类型

  • 变量的类型(变量内存值的类型)
    • 基本类型: 保存就是基本类型的数据
    • 引用类型: 保存的是对象的地址值
  • 数据的类型
    • 基本类型
    • 对象类型