数据类型的总结

基本数据类型:
  String(字符串类型)
  Number(数值类型)
  Boolean类型(布尔类型)
复合数据类型:
  Array(数组)
  Object对象
特殊数据类型:
  null和undefined没有定义类型
  Function函数
es6中新增symbol

1、typeof
  typeof这个关键字是一定要说的,因为javascript是松散类型的,在变量申明时并没有使用与之类型相对应的关键字,如果在代码中想要获知某个变量的基本数据量,就可以使用typeof。这里要注意的是typeof返回的是字符串类型。
  (1)、"undefined"——未申明,或者变量的值即为undefined或者未初始化;
  (2)、"boolean" ——如果这变量的值是布尔类型;
  (3)、"string" ——值是字符串类型;
  (4)、"number" ——值是数字类型;
  (5)、"object" ——对象或者值为null;
  (6)、"function" ——函数。
在js中函数也是对象,但是函数又要一些区别与其他对象的特定,所以ECMAScript在使用typeof的时候将其区分开来。
2、Undefined
  这是一个很有意思的数据类型,因为它的值只有一个,那就是undefined。在申明变量时如果没有将变量赋值的话这个变量也是属于Undefined类型的。
  如果一个变量没有申明就直接去访问解释器会报错误信息,但是这样的变量如果使用typeof返回的结果也是"undefined"。
3、Null
  Null也是一个只有一个值得数据类型,它的值就是null,任何变量只要给其赋值为null的话这个变量的数据类型就是Null类型。null值表示控对象指针,所以申明的变量要是想用来保存对象并且在申明之初还不能确定具体保存哪个对象的时候就将其赋值为null,在使用的时候只要检查该变量是否为null就可以知道该变量是否保存了对象。
  其实null和undefined还是有点微妙的关系的,在javascript中undefined值派生自null,因此ECMA-26规定了它们的相等性测试为true。
  在实际的编程中我们没有必要将一个变量赋值为undefined,但是却有很多情况下要将变量赋值为null,将变量赋值为null可以便于我们将它与undefined区分也便于垃圾回收处理。
4、Boolean
  在javascript中Boolean类型用还是比较多的一种简单数据类型,它有两个值,分别是true和false,因为在javascript中字母是区分大小写的,所以True和False不是Boolean的值。
  调用Boolean()方法可以将任何类型的值转化成与之相对应的Boolean类型的值,也就是可以将其转化成true或者false。
5、Number
  javascript为了支持各种数值类型,定义了不同数值字面量格式。
  最基本的是字面量是十进制,此外还有八进制和十六进制数的字面量。八进制在js中表示是第一位一定要是0,后面就是八进制字数序列(0~7),如果字面量值超出了范围,前面的0会被忽略,后面的值会被当成十进制解析。十六进制字面量前两位必须是0x,后面跟十六进制数字(0~9及A~F)。字母A~F不区分大小写。
  在进行数值计算时,不论是八进制还是十六进制最终都会被转化成十进制数值。
6、Object
  Object类是所有JavaScript类的基类(父类),提供了一种创建自定义对象的简单方式,不再需要程序员定义构造函数。Object类主要属性:1.constructor:对象的构造函数。2.prototype:获得类的prototype对象,static性质。

原文地址:https://www.cnblogs.com/zycs/p/12341522.html