你真的了解JavaScript的数据类型吗?

JS的数据类型有:

                        1、数值类型(Number):js中所有数字均用浮点数字表示。

                                                                    可以表示32位(即4字节)的整数,也可以表示64位(即8字节)的浮点数(小数)。

                                                                    也可以用二进制、八进制、十进制、十六进制来表示。

                       2、字符串类型(String):是一组由16位值组成的不可变的有序序列,每个字符通常来自于Unicode字符集。

                       3、布尔类型(boolean):来表示结果的真或假,肯定或否定。

                                                                   这个类型只有两个值:

                                                                                 (1)true 表示真(肯定)。eg:var long = true;

                                                                                 (2)false 表示假(否定)。eg:var short = false;

                                                                   在实际运算中,true可以当成1做运算,false可以当成0做运算。

                      4、undefined/null:访问的数据不存在。这两个数据类型的区别官方给出的解释:

                                                                     null是给程序员主动赋空值所用    eg:var n=null;//程序员主动赋空值

                                                                      undefined是系统给程序被动赋空  eg:var a;console.log(a);//被系统赋值为undefined。

                     5、symbol

                     6、bigint

                    7、引用数据类型。1、Array    2、Date   3、Function  .4、Object......

数据类型的检查:typeof检测数据类型的逻辑运算符                  

typeof(true)//"boolean"
typeof(10)//"number"
...

                             instanceof检测该数据类型是否为某个类的实例

var arr=[1,2,3];
arr instanceof(Array);//"true"
var obj={"name":"zs","age":15};
obj instanceof(Object);//"true"

                             constructor检测构造函数

arr.constructor===Array//"true"

以上所有的返回结果都是字符串

typeof的局限性:只能检测出具体的基本数据类型,引用数据类型就不能区分的很细,检测普通对象或者数组对象都是object

记住:typeof null  返回值是“object”

原文地址:https://www.cnblogs.com/houcong/p/10781221.html