typeof是用来检测一个变量是不是基本数据类型的最佳工具。typeof 操作符是确定一个变量是字符串、数值、布尔值还是undefined的最佳工具。如果变量的值是一个对象或null,则typeof 操作符会返回“object”。
我们想知道某个值什么类型的对象时,应该选择ECMAScript提供的instanceof 操作符,其语法如下所示:
result = variable instanceof constructor
根据规定,所有引用类型的值都是Object 的实例。因此,在检测一个引用类型值和Object 构造函数时,instanceof 操作符始终会返回 true。当然,如果使用instanceof 操作符检测基本类型的值,则该操作符始终会返回 false,因为基本类型不是对象。