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

分类

  • 基本(值)类型
    • 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 与 Functioncode

===

只能判断具备惟一值的类型,即: undefined, null对象


相关问题

一、何时给变量赋值为null?

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

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

变量自己是没有类型的, 变量的类型其实是变量内存中数据的类型内存

  • 变量的类型(变量内存值的类型)
    • 基本类型: 保存就是基本类型的数据
    • 引用类型: 保存的是对象的地址值
  • 数据的类型
    • 基本类型
    • 对象类型
相关文章
相关标签/搜索