0%

JS中typeof 和 instanceof 的区别

JS 中 typeof 和 instanceof 的区别

typeof

typeof 的返回值是一个字符串,一般是 “number”,”string”,”boolean”,”object”,”function” 和 “undefined”

1
2
console.log(typeof 123); //"number"
console.log(typeof "123"); //"string"

instanceof

instanceof 运算符用来测试一个对象在其原型链中是否存在一个构造函数的 prototype 属性

1
2
3
4
let list = [1, 2, 3];
console.log(list instanceof Array); //true
console.log(list instanceof Object); //true
//因为 Array 是 Object 的子类

具体说就是可以从来判断一个变量是否是某个类的实例,也可以用来判断在继承关系中某个类是否是一个实例的父类.