【前端基础】使用 typeof 进行类型判断注意点

在使用typeof进行类型判断时,需要注意以下几点:

  1. 基本数据类型判断typeof可以用于判断基本数据类型,包括"undefined", "boolean", "number", "string", "bigint", "symbol", 和 "object"。例如:
typeof 5; // "number"
typeof "hello"; // "string"
typeof true; // "boolean"
typeof undefined; // "undefined"
typeof BigInt(123); // "bigint"
typeof Symbol('foo'); // "symbol"
  1. null的判断typeof null 返回 "object",这是 JavaScript 语言的一个历史遗留问题,因此如果要判断一个值是否为 null,最好单独判断。例如:
typeof null; // "object"
null === null; // true
  1. 函数类型判断typeof可以用于判断函数类型,函数的类型是"function"。例如:
typeof function() {}; // "function"
  1. 数组类型判断:数组的类型也是"object",所以无法通过typeof直接判断一个变量是否为数组。可以通过Array.isArray()方法来判断。例如:
typeof []; // "object"
Array.isArray([]); // true
  1. NaN的判断typeof NaN 返回 "number",这是 JavaScript 的一个特殊情况。NaN 指“不是一个数字”(not a number), NaN 是一个“警戒值”(sentinel value,有特殊用途的常规值),用于指出数字类型中的错误情况,即“执行数学运算没有成功,这是失败后返回的结果”。例如:
typeof NaN; // "number"

NaN 是一个特殊值,它和自身不相等,是唯一一个非自反(自反, reflexive,即 x === x 不成立)的值。而 NaN !== NaNtrue

  1. 对象的判断typeof可以用于判断对象,但不能区分对象的具体类型,只能返回 "object"。例如:
typeof {}; // "object"
typeof []; // "object"
typeof new Date(); // "object"

综上所述,使用typeof进行类型判断时需要注意上述情况,特别是nullNaN和数组类型的判断。在某些情况下,需要结合其他方法进行更准确的类型判断。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/787165.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

EasyDarwin 、ffmpeg 音视频推流拉流;OBS视频推理软件、obs-rtspserver服务器;python读取rtsp流

参考:https://blog.csdn.net/N71FS1/article/details/130019563 一、EasyDarwin ffmpeg ffmpeg 推送音视频流到rtsp流服务器 EasyDarwin 作为rtsp流服务器 (下载:https://www.easydarwin.org/p/easydarwin.html)OBS 直播音视频录…

分享:搭建企微知识库简单易学步骤

说起企微知识库,可能有些人还不太清楚,为什么现在很懂企业选择搭建企微知识库?其实,企微知识库就是一个装满了企业的各种知识、经验和资料的载体。目的是为了方便员工随时查找和学习、有助于知识的传承和共享、加强团队协作和沟通…

专题三_二分查找(2)

目录 35. 搜索插入位置 解析 题解 852. 山脉数组的峰顶索引 解析 题解 162. 寻找峰值 解析 题解 35. 搜索插入位置 35. 搜索插入位置 - 力扣&#xff08;LeetCode&#xff09; 解析 题解 class Solution { public:int searchInsert(vector<int>& nums, int…

MS SQL Server STUFF 函数实战 统计记录行转为列显示

目录 范例运行环境 视图样本设计 数据统计要求 STUFF函数实现 小结 范例运行环境 操作系统&#xff1a; Windows Server 2019 DataCenter 数据库&#xff1a;Microsoft SQL Server 2016 视图样本设计 假设某一视图 [v_pj_rep1_lname_score] 可查询对某一被评价人的绩效…

重生奇迹mu召唤技能

1、召唤师与法师的共通技能&#xff1a;火球术、真空波、陨石、冰封。 2、摄魂咒&#xff1a;夺取敌人的体力来补充自己的体力。 3、链雷咒&#xff1a;雷系列的技能&#xff0c;给予敌人连锁3次的雷电攻击&#xff0c;如果目标附近没有其他目标&#xff0c;就会攻击第一个对…

密码学基础古典密码

古典密码学有两种基本方法&#xff0c;置换密码和替代密码&#xff0c;置换密码指的是&#xff0c;密文和明文的字母是一样的&#xff0c;只是顺序不一样而已&#xff0c;而替代密码指的是&#xff0c;有一张对应的表&#xff0c;将明文中的字符替换成另一个字符。达到生成密文…

手撕算法-有效的括号

描述 分析 使用栈&#xff0c;如果是左括号&#xff0c;入栈&#xff0c;如果是右括号&#xff0c;判断栈是否为空&#xff0c;不是空出栈并校验是否匹配&#xff0c;不匹配返回false。最后如果栈为空&#xff0c;返回true。 代码 class Solution {public boolean isValid(…

朵米3.5客服系统源码,附带系统搭建教程

朵米客服系统是一款全功能的客户服务解决方案&#xff0c;提供多渠道支持&#xff08;如在线聊天、邮件、电话等&#xff09;&#xff0c;帮助企业建立与客户的实时互动。该系统具有智能分流功能&#xff0c;可以快速将客户请求分配给适当的客服人员&#xff0c;提高工作效率。…

【网课必备】学浪视频下载到本地

学浪作为知识付费平台&#xff0c;拥有大量的课程&#xff0c;所以很多人在学浪上购买自己的课程&#xff0c;但是学浪官方没有提供下载选项&#xff0c;只可以在学浪客户端软件观看&#xff0c;并不是很方便 于是为了解决这一个需求&#xff0c;小白老师s开发了学浪视频下载到…

凌乱的yyy / 线段覆盖

题源 先将每一场比赛以结束时间排一次序&#xff0c;存储当前满足比赛的结束时间&#xff0c;将前面比赛结束时间与后面比赛开始比较&#xff0c;在这相同结束时间比赛中下&#xff0c;如果有比赛的开始时间小于等于记录的结束时间&#xff0c;就可以计数加一~~~ 题目描述 现在…

Three.js真实相机模拟

有没有想过如何在 3D Web 应用程序中模拟物理相机&#xff1f; 在这篇博文中&#xff0c;我将向你展示如何使用 Three.js和 OpenCV 来完成此操作。 我们将从模拟针孔相机模型开始&#xff0c;然后添加真实的镜头畸变。 具体来说&#xff0c;我们将仔细研究 OpenCV 的两个失真模…

C语言第三十八弹---编译和链接

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】 编译和链接 1、翻译环境和运行环境 2、翻译环境 2.1、预处理&#xff08;预编译&#xff09; 2.2、编译 2.2.1、词法分析 2.2.2、语法分析 2.2.3、语义分…

Java从萌新小白到顶级大牛(4更新中)

自定义异常 Java标准库定义的常用异常包括&#xff1a; Exception │ ├─ RuntimeException │ │ │ ├─ NullPointerException │ │ │ ├─ IndexOutOfBoundsException │ │ │ ├─ SecurityException │ │ │ └─ IllegalArgumentException │ │ │ …

共享WiFi项目加盟怎么做?碰到这些服务商要留意!

自2014年共享WiFi项目被微火研发出来让大众都可以参与其中&#xff0c;市场上不少合作伙伴都发现了该项目市场缺口大、推广难度低及落地性强等优势&#xff0c;想要加盟共享wifi项目。从目前的情况来看&#xff0c;不少代理商虽然对这个项目本身有一定的了解&#xff0c;但是靠…

扫地机器人(蓝桥杯)

文章目录 扫地机器人题目描述解题思路二分贪心 扫地机器人 题目描述 小明公司的办公区有一条长长的走廊&#xff0c;由 N 个方格区域组成&#xff0c;如下图所 示。 走廊内部署了 K 台扫地机器人&#xff0c;其中第 i 台在第 Ai 个方格区域中。已知扫地机器人每分钟可以移动…

Transformer模型-用jupyter演示逐步计算attention

学习transformer模型-用jupyter演示如何计算attention&#xff0c;不含multi-head attention&#xff0c;但包括权重矩阵W。 input embedding&#xff1a;文本嵌入 每个字符用长度为5的向量表示&#xff1a; 注意力公式&#xff1a; 1&#xff0c;准备Q K V&#xff1a; 先 生…

Android 9.0 Launcher3定制化之修改添加的默认文件夹为9宫格样式

1.前言 在9.0的系统产品rom定制化开发中,对于Launcher3的定制功能也是不少的,比如在Launcher3中添加默认文件夹,把默认的app添加的文件夹里面,其他的app 然后按顺序排序。在文件夹布局就是默认的9宫格布局,接下来分析下相关源码来实现功能 2.Launcher3定制化之修改添加的…

漏洞扫描神器:Netsparker 保姆级教程(附链接)

一、介绍 Netsparker是一款专业的网络安全扫描工具&#xff0c;用于自动化地发现和修复网站和Web应用程序中的安全漏洞。它提供了全面的安全测试&#xff0c;包括SQL注入、跨站脚本攻击、远程文件包含、命令注入等常见的安全漏洞。 Netsparker具有以下特点&#xff1a; 自动化…

【CSS】结构伪类选择器

​ html元素&#xff1a; <div class"box"><ul><li>我是li001</li><li>我是li002</li><li>我是li003</li><li>我是li004</li><li>我是li005</li><li>我是li006</li><li>…

AI预测福彩3D第24弹【2024年4月2日预测--第6套算法开始计算第1次测试】

今天&#xff0c;咱们进行第6套算法测试&#xff0c;本套算法将结合012路直选共27种组合&#xff0c;同时考虑了对012路的和值进行统计分析。今天为第1次测试&#xff0c;好了&#xff0c;废话不多说了。直接上结果~ 仍旧是分为两个方案&#xff0c;1大1小。 经过人工神经网络计…