10.1、typeof数据类型检测
2024-02-27 11:09:26 0 举报
AI智能生成
在JavaScript中,typeof运算符用于检测变量的数据类型。它可以检测出number、string、boolean、symbol、object、undefined、bigint等基本数据类型。使用方法是在变量或表达式后面加typeof运算符,返回结果会显示变量的数据类型。例如,`typeof 5`将返回number,`typeof "hello"`将返回string。需要注意的是,typeof无法区分数组和对象,两者都会返回object。此外,typeof也不能用于检测null,会返回object。因此,在使用typeof运算符进行数据类型检测时,需要注意这些限制。
作者其他创作
大纲/内容
定义:用来检测数据类型的运算符
使用方法:tyepof [value]
typeof 检测的结果首先是一个字符串,字符串中包含了对应的数据类型(例如:“number”“string”“boolean”“undefined”“object”“function”“symbol”“bigint”)
局限性
- 1、NaN / Infinity 都是数字类型的,检测结果都是“number”
- 2、typeof null 的结果是“object”(这是浏览器的BUG:所有的值在计算中都以二进制编码储存,浏览器中把前三位000的当作对象,而null的二进制前三位是000,所以被识别为对象,但是他不是对象,他是空对象指针,是基本类型值)
- 3、typeof 普通对象/数组对象/正则对象..., 结果都是“object”,这样就无法基于typeof 区分是普通对象还是数组对象等了
应用场景
已知有一个变量x,但是我们无法确认其数据类型,我们需要有一个判断操作:当x的类型是对象的时候(什么对象都可以),则处理对应的事情
if (x != null && typeof x == "object") {
// ...
}
注意:连续出现两个及两个以上typeof检测的结果,最后都是“string”
0 条评论
下一页