JS中typeof和instanceof的区别

typeof 返回下面8种

"string":字符串
"boolean":布尔值(true / false)
"number":数字(包括 NaN 和 Infinity)
"object":对象、数组、null、日期等、引用类型
"function":函数
"undefined":未定义的值或变量
"symbol":Symbol 类型(ES6 引入,如 Symbol())
"bigint":大整数(ES2020 || ES11引入,如 9007199254740991n)

怎么记忆:

语文string,对boolean, 数字number,
对象object, 函数function,未定义undefined,
Symbol(es6), 大整数bigint(ES2020 || ES11),

特别注意:

typeof null === "object"
typeof NaN === "number"
函数虽然属于对象,但 typeof 专门返回 "function"
其中只有 null 和 function 的返回值与直观预期存在偏差

浅谈JS中的typeof和instanceof的区别

1,typeof检测基本数据类型, instanceof 检测引用数据类型。
2,typeof返回的是字符串(8种),instanceof返回的是布尔值。

其他说明

对象,Array,Null使用typeof一律返回object
instanceof用来检测某个对象是不是另一个对象的实例。

posted @ 2020-04-03 20:43  南风晚来晚相识  阅读(152)  评论(0)    收藏  举报