数据类型概述

135 阅读2分钟

1.简介

JavaScript有六种数据类型(ES6新增了Symbol类型)。

  • number:整数和小数(1,3.14)
  • string:文本(Hello World)
  • boolean:true和false
  • undefined:表示未定义或不存在,暂无任何值
  • null:表示空值,即此处值为空
  • object:对象,各种值组成的集合 原始类型(primitive type)的值,最基本的数据类型:number、string、boolean;合成类型(complex type)的值:object,因为一个对象往往是多个原始类型的值的合成,可看成一个存放各种值的容器。undefined和null可以看成两个特殊值。

1.1对象

对象是最复杂的数据类型,可以分成三个子类型。

  • object狭义的对象
  • array数组
  • function函数 狭义的对象和数组是两种不同的数据组合方式。函数是处理数据的方法,JavaScript将它当成一种数据类型,可以赋值给变量,为编程带来很大的灵活性,为JavaScript的函数式编程奠定基础。(高级函数,一个函数作为另外一个函数的参数传入,回调函数)

2.typeof运算符

JavaScript有三种方法可以确定一个值到底是什么类型

  • typeof运算符
  • instanceof运算符
  • Object.prototype.toString方法 typeof运算符可以返回一个值的数据类型:
  • 数值、字符串、布尔值分别返回number、string、boolean
  • 函数返回function
  • undefined返回undefined(利用这点可以用来检查一个未声明的变量而不报错)
  • 对象返回object(空数组类型是object,数组本质上只是一种特殊的对象,而instanceof运算符可以区分数组和对象)
  • null返回object null的类型是object,由于1995年JavaScript只设计了五种数据类型,未考虑null,将其当作object的一种特殊值。后来null独立出来,作为一种单独的数据类型,为了兼容以前的代码,typeof null返回object就没法改变了。