如果你是一名IT前端人员,怎么会不懂JavaScript的美?如果你是一名前端在学人员,接触JavaScript后,怎么会不明白JavaScript中基本数据类型?大家都知道计算机能够存储和处理数据。
JavaScript中有5种基本数据类型:number、sring、boolean、undefined和null。
在介绍js的基本数据类型前,有必要提到两个关键字var和typeof。那什么是关键字?
关键字
系统自己使用的或者以后可能会使用的有特殊用途的字符。
使用var关键字时,与之紧密相连的是变量这一概念。“变量”一词对于大家应该都不陌生,在数学中表示函数关系的变量,那么在js语言中变量是何方神圣?
变量
变量是存储信息的容器。
JavaScript中用var关键字来定义变量,无法确定变量一定会存储什么值,也就不知道变量到底会是什么类型,而且变量的类型可以随时改变。这就是JavaScript是松散类型的来由,所谓松散类型就是可以用来保存任何类型的数据。
由于js中的变量是松散类型的,所以它提供了一种检测当前变量的数据类型的方法,也就是typeof关键字。
通过typeof关键字,对这5种数据类型会返回下面的值(以字符串形式显示):
number、string、boolean、undefined和object(后期会对object有根深的了解)。
接下来就分别看下5种基本数据类型:
number
这种类型用来表示整数和浮点数值,还有一种特殊的数值,即NaN(非数值 not a number)。
var a = 5;
console.log(typeof(a)); //console.log()代表在控制台输出
//输出的结果为 number
var b = 2 / 0 ;
console.log(typeof(b)); //输出的结果为NaN
string
string用于表示由零、数字或字符组成的字符序列,即字符串。字符串可以由英文单引号'或双引号"表示。
var year = "2017年";
console.log(typeof(year)); // 输出的结果为string
var thing = "abcd12345@?";
console.log(typeof(thing)); // 输出的结果为string
boolean
该类型只有两个字面值:true和false。这两个值与数字值不要混为一谈,因此true不一定等于1,而false也不一定等于0。虽然Boolean类型的字面值只有两个,但JavaScript中所有类型的值都有与这两个Boolean值等价的值。
var a = 5;
var b = 3;
console.log(typeof(a > b)); // 输出结果为boolean
下表为任何数据类型与布尔值的等价值:
数据类型 | 转换为true的值 | 转换为false的值 |
---|---|---|
boolean | true | false |
string | 任何非空的字符串 | ""(空字符串) |
number | 任何非0数值(包括无穷大) | 0和NaN |
object | 任何对象 | null |
undefined | !undefined | undefined |
undefined
在使用var声明变量但未对其加以赋值时,这个变量的值就是undefined。
var a ;
console.log(typeof(a)); //输出结果为undefined
null
从逻辑角度来看,null值表示一个空对象,故使用typeof关键字检测null时会返回object。
var cat = null;
console.log(typeof(cat)); // 输出结果为object
这里需要注意undefined和null,实际上,undefined值是派生自null值的。尽管null和undefined有这样的关系,但它们的用途完全不同。如果变量旨在保存一个对象但还没有保存对象时,可以声明变量并赋予变量初始化的null值。