typeof 操作符是确定一个变量是字符串、数值、布尔值、还是undefined的最佳工具。
虽然在检测基本数据类型时 typeof 是非常得力的助手,但在检测引用类型的值时,这个操作符的用处不大。
var arr = new Array();
typeof arr // ‘object‘
var obj = new Object();
typeof obj; // ‘object‘
通常,我们并不想知道某个值是对象,而是想知道他是什么类型的对象。为此ECMAScript提供了 instanceof 操作符,其语法如下:
result = variable instanceof constructor
如果变量是给定引用类型的实例,那么 instanceof 操作符就会返回 true。
如果使用 instanceof 操作符检测基本类型的值,则该操作符始终会返回 false,因为基本类型不是对象。
JavaScript中typeof 和 instanceof区别
原文:https://www.cnblogs.com/tsmaster/p/13334161.html