?? 与 || 在 JavaScript 中的微妙差别

起初,你可能会认为你可以随意替换任何你喜欢的人,对吗?

e59f96ee97ed32d514d4315749f9fee0.png

错误。他们并非你所想的那样。

我们必须一劳永逸地学习这个区别,以避免日后出现痛苦的错误。

这个差别是什么?

这是他们对待真值和假值的令人难以置信的对比。这些是什么?

假值:在 Boolean()if 中变为 false

0eda324d6aa58f876fb6915a2e3bdf9f.png

  • 0

  • undefined

  • null

  • NaN

  • false

  • '' (空字符串)

Truthy:所有其他的事情:

350fca8da3e6d5bb598371be63bbb5b3.png

现在看看创建一个这样的 || 链时会发生什么:

40bf36ae8289870255e00cff68479b1c.png

它会一直进行下去,直到遇到第一个真值!但是关于 ?? 链呢?👇

644276d21cb20f96cbbd85e0272fc72f.png

看到明显的区别了吗?

一个寻找 truthy ,另一个寻找任何非空或未定义的东西。

何时使用 ?? 与 ||

在视频游戏中初始化额外生命,其中 0 代表某种含义?

?? 👇

447fa9b12781a78a4c84a4c97921994b.png

对响应进行分页,其中 0 limit 没有意义?

|| 👇

e4dad0be744608d5f3fa11717d5a8a7b.png

用户必须有一个名称,所以不能有空格,绝对不能有空字符串?

|| 👇b3c1e769b1d3b6025d392322703f4832.png

用户输入的数字无效,还是他们根本就没有输入数字?

?? 找出来👇

574a58c2b44b78661f0b3d4e64946ddf.png

#### ???. 是朋友

f111d7c238f9f78f95091f1d24fb6228.png

总结

?? 是一个轻信的孩子,他会相信任何事情。|| 是一名寻找真实无非真实的侦探。

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

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

相关文章

C++ 61 之 函数模版

#include <iostream> #include <string> using namespace std;void swapInt(int &a,int &b){int temp a;a b;b temp; }void swapDou(double& a, double& b){double temp a;a b;b temp; }// T代表通用数据类型&#xff0c;紧接着后面的代码&a…

科技前沿:Web3技术驱动下的物联网创新

随着Web3技术的迅猛发展&#xff0c;物联网&#xff08;IoT&#xff09;作为连接和互操作性的关键&#xff0c;正迎来一场前所未有的革命。本文将深入探讨Web3技术如何驱动物联网的创新&#xff0c;以及这种创新如何重新定义我们对智能设备、数据安全和网络架构的理解。 1. Web…

PR软件视频抠图换背景

1 新建项目 2 新建序列 在项目的右下角有个图标&#xff0c;新建 序列 序列是视频的制作尺寸&#xff0c;根据自己的需要选择 3 新建颜色遮罩 在项目的右下角--新建颜色遮罩--选择黑色--确定 4 导入视频 把要导入视频的文件夹打开&#xff0c;把视频拖到 项目 里 把黑色遮罩拖…

56.SAP MII开发的一个系统响应错误 Error code: ICMETIMEOUT

问题 一个SAP MII开发的项目&#xff0c;最近新增了一个功能&#xff0c;查询数据源量比较大&#xff0c;逻辑有点复杂&#xff0c;大约7-8分钟。发布到生产系统后&#xff0c;发生响应错误&#xff0c;返回 Error code: ICMETIMEOUT <!-- Error code: ICMETIMEOUT -->\r…

Camunda 7.x 系列【68】实战篇之我的待办任务

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 2.7.9 本系列Camunda 版本 7.19.0 源码地址:https://gitee.com/pearl-organization/camunda-study-demo 前后端基于若依:https://gitee.com/y_project/RuoYi-Vue 流程设计器基于RuoYi-flowable:https://gi…

智能网站管理系统

智能网站管理系统&#xff0c;即智能化的网站管理工具&#xff0c;是为了提高网站管理效率和简化操作流程而开发的一种软件系统。它集合了各种先进的技术和功能&#xff0c;为网站管理员提供了一套强大而可靠的解决方案。 智能网站管理系统的核心功能是网站内容管理。传统的网站…

shell命令(进程管理和用户管理)

一、进程处理相关命令 1、进程的概念 进程的概念主要有两点&#xff1a; 进程是一个实体。每一个进程都有它自己的地址空间&#xff0c;一般情况下&#xff0c;包括文本区域&#xff08; text region &#xff09;、数据区域&#xff08; data region &#xff09;和堆栈&am…

操作系统分区的时候/boot和/boot/efi有什么区别?

文章目录 系统分区的时候/boot和/boot/efi有什么区别 系统分区的时候/boot和/boot/efi有什么区别 在Linux系统中进行分区时&#xff0c;/boot和/boot/efi是两个相关但具有不同用途的目录&#xff1a; /boot目录&#xff1a; /boot目录用于存储启动Linux系统所需的核心文件&…

代码随想录算法训练营Day42|1049.最后一块石头的重量II、494.目标和、474.一和零

最后一块石头的重量II 1049. 最后一块石头的重量 II - 力扣&#xff08;LeetCode&#xff09; 考虑昨天的能否将一个数组分为两个和相等的子集&#xff0c;本题有类似的思路&#xff0c;即将左右分为左右两个和相近的子集&#xff0c;然后返回其差值&#xff0c;这里使用动态…

【STM32】使用标准库点亮LED

1.硬件设计 LED1的阴极接到了PC13引脚上&#xff0c;我们控制PC13引脚的电平输出状态&#xff0c;即可控制LED1的亮灭。 2.编程要点 使能GPIO端口时钟&#xff1b;初始化GPIO目标引脚为推挽输出模式&#xff1b;编写简单测试程序&#xff0c;控制GPIO引脚输出高、低电平。 查…

Tomcat Websocket应用实例研究

概述 本文介绍了如何根据Tomcat给出的websocket实例&#xff0c;通过对实例的学习&#xff0c;定制自己基于websocket的应用。 环境及版本&#xff1a; Ubuntu 22.04.4 LTSApache Tomcat/10.1.20openjdk 11.0.23 2024-04-16浏览器&#xff1a;Chrome 相关资源及链接 Class…

python连接数据库,相关数据处理

随机生成一千个数据插入large_db中 # 这是一个示例 Python 脚本。# 按 ShiftF10 执行或将其替换为您的代码。 # 按 双击 Shift 在所有地方搜索类、文件、工具窗口、操作和设置。 import pandas as pd from sqlalchemy import create_engine from faker import Faker# 初始化fa…

AWS无服务器 应用程序开发—第十六章 CI/CD CodeBuild

在 AWS CodeBuild 中进行单元测试需要配置构建规范文件 (buildspec.yml),该文件定义了 CodeBuild 在构建过程中需要执行的步骤。以下是如何使用 CodeBuild 进行单元测试的具体步骤: 准备项目结构 首先,确保你的项目具有适当的目录结构和测试文件。以下是一个示例项目结构:…

加密excel(Python)

文章目录 一、EXCEL加密 一、EXCEL加密 import randomfrom win32com.client import Dispatchdef random_password(length20):默认返回20位随机密码key ""characters "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"for i in range(l…

Airflow 中的trigger_rule

最近正在使用airflow&#xff0c;用到了这个&#xff0c;记录下 在 Apache Airflow 中&#xff0c;trigger_rule 是用于控制任务何时被触发的规则。TriggerRule 是一个枚举类型&#xff0c;它包含了多种不同的触发规则。以下是这些规则及其用途的详细说明&#xff1a; ALL_SUC…

【价值主张画布】以产品思维,将自己打造成“爆款”

经营自己等于经营公司&#xff1a; 1.客户细分&#xff1a;我能帮助谁&#xff1f;谁是我们最重要的客户&#xff1f; 2. 客户关系&#xff1a;怎样和对方打交道&#xff1f;一次交付还是持续交付&#xff1f; 3.渠道通路&#xff1a;怎样宣传自己和服务&#xff1f; 4. 价值主…

Jmeter 性能测试步骤是什么?

性能测试是软件开发过程中非常重要的一环。它可以帮助我们评估软件系统在不同负载下的性能表现&#xff0c;找出系统中的性能瓶颈&#xff0c;并提供改进方案。而JMeter作为一款功能强大且广泛使用的性能测试工具&#xff0c;可以帮助我们实现这一目标。 下面&#xff0c;我将…

银河麒麟4.0.2安装带有opengl的Qt5.12.9

银河麒麟4.0.2下载地址&#xff1a;银河麒麟-银河麒麟(云桌面系统)-银河麒麟最新版下载v4.0.2-92下载站 VirtualBox:https://www.virtualbox.org/wiki/Downloads qt下载&#xff1a;Index of /archive/qt/5.12/5.12.9 1安装VirtualBox:网上教材比较多 1&#xff09;安装完后安…

方法论:SWOT、SMART

解决方案分析方法论SWOT 什么是SWOT&#xff1a;例子中间件RabbitMQ和RocketMQ队列选择对比S&#xff08;strengths&#xff09;优势&#xff1a;RabbitMQ团队多人用过&#xff0c;AMQP跨语言、模型API丰富W&#xff08;weaknesses&#xff09;劣势&#xff1a;RabbitMQ阅读过…

GooglePlay | 发布APK步骤

将生成好的 APK 包上传到 Google Play 商店涉及几个步骤。以下是详细指南&#xff1a; 1. 创建 Google Play 开发者账户 如果你还没有 Google Play 开发者账户&#xff0c;需要先创建一个&#xff1a; 访问 Google Play Developer Console.注册并支付一次性注册费&#xff0…