var str = new String("hello world");
如果需要知道变量的类型是什么?可以使用typeof 那么上面的str将会得到 object,而不是string。
1.如果想要知道str是否是字符串类型,可以使用关键字 instanceof
str instanceof String
将会得到true
或者false
布尔值,表示指定的变量是否是string
对象的实例
instanceof
可以在 typeof
返回值是object
时,对变量进一步进行鉴定。
2.使用 instanceof 就是判断一个实例是否属于某种类型
function Foo(){}
var foo = new Foo();
foo instanceof Foo //true
3.非常重要的一点是 instanceof 可以在继承关系中用来判断一个实例是否属于它的父类型
// 判断 foo 是否是 Foo 类的实例 , 并且是否是其父类型的实例
function Aoo(){}
function Foo(){}
Foo.prototype = new Aoo();//JavaScript 原型继承
var foo = new Foo();
console.log(foo instanceof Foo)//true
console.log(foo instanceof Aoo)//true
而 instanceof
的执行原理这个不在赘述,请到本文参考地址进行学习、了解
JavaScript instanceof 运算符深入剖析