Open kangyana opened 2 years ago
typeof操作符返回一个字符串,表示未经计算的操作数的类型。
typeof
语法:
typeof operand
"undefined"
"boolean"
"string"
"symbol"
"bigint"
"function"
"object"
由上表可得知,typeof是无法区分object | array | null类型的。
object
array
null
instanceof 运算符用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上。
instanceof
prototype
object instanceof constructor
只能用于构造函数,无法用于基础类型。
typeof与instanceof都是判断数据类型的方法,区别如下:
function
一、typeof
typeof
操作符返回一个字符串,表示未经计算的操作数的类型。语法:
"undefined"
"boolean"
"string"
"symbol"
"bigint"
"function"
"object"
由上表可得知,
typeof
是无法区分object
|array
|null
类型的。二、instanceof
instanceof
运算符用于检测构造函数的prototype
属性是否出现在某个实例对象的原型链上。语法:
只能用于构造函数,无法用于基础类型。
三、总结区别
typeof
与instanceof
都是判断数据类型的方法,区别如下:typeof
会返回一个变量的基本类型,instanceof返回的是一个布尔值。instanceof
可以准确地判断复杂引用数据类型,但是无法判断基本类型。typeof
无法判断除了function
外的引用类型。