首页 > 编程语言 >JavaScript:逻辑运算符

JavaScript:逻辑运算符

时间:2023-09-10 17:33:19浏览次数:52  
标签:逻辑 JavaScript 假值 运算符 && 表达式

与(&&)、或(||)

&&

在 JavaScript 中,A && B 是一个逻辑与运算,其执行逻辑如下:

  1. 如果表达式 A 的结果为假值(例如 falsenullundefined0NaN 或空字符串 ""),则整个表达式 A && B 立即返回 A 的值,而不会继续执行 B

  2. 如果表达式 A 的结果为真值(例如非空字符串、非零数值、对象或函数),则整个表达式 A && B 继续执行,并返回 B 的值,不论 B 的结果是真值还是假值。

这种逻辑与运算主要用于条件判断,当 A 为真时,执行 B,否则不执行 B。这种逻辑短路的特性使得它在一些条件处理和简化代码逻辑的情况下非常有用。例如:

let value = someValue && calculateValue();

在上述代码中,如果 someValue 为真,那么 calculateValue() 函数会被调用,否则不会执行,从而避免了不必要的计算。

需要注意的是,&& 运算符的短路行为也意味着在某些情况下,B 可能根本不会被执行。这在条件判断和编写复杂逻辑时需要谨慎考虑,以确保不会产生意外的结果。

||

在 JavaScript 中,A || B 是一个逻辑或运算,其执行逻辑如下:

  1. 如果表达式 A 的结果为真值(例如非空字符串、非零数值、对象或函数),则整个表达式 A || B 立即返回 A 的值,而不会继续执行 B

  2. 如果表达式 A 的结果为假值(例如 falsenullundefined0NaN 或空字符串 ""),则整个表达式 A || B 继续执行,并返回 B 的值,不论 B 的结果是真值还是假值。

这种逻辑或运算主要用于条件判断,当 A 为真时,返回 A 的值,否则返回 B 的值。这种逻辑短路的特性使得它在一些条件处理和简化代码逻辑的情况下非常有用。例如:

let value = someValue || defaultValue;

在上述代码中,如果 someValue 为真,那么它将被赋值给 value,否则将使用 defaultValue

与逻辑与运算 (&&) 一样,需要注意的是,|| 运算符的短路行为也意味着在某些情况下,B 可能根本不会被执行。因此,在条件判断和编写复杂逻辑时,需要谨慎考虑以确保不会产生意外的结果。

标签:逻辑,JavaScript,假值,运算符,&&,表达式
From: https://www.cnblogs.com/marshban/p/17691537.html

相关文章

  • 无涯教程-JavaScript - DB函数
    描述DB函数使用固定余额递减法返回指定期间内资产的折旧。语法DB(cost,salvage,life,period,[month])争论Argument描述Required/OptionalCostTheinitialcostoftheasset.RequiredSalvageThevalueattheendofthedepreciation(sometimescalledthe......
  • Swift 中的Range类型和 Range运算符
    Swift中的Range类型和Range运算符赵邦华关注IP属地:广东0.3312020.10.1122:50:49字数574阅读5,198Swift中有五个最常用的Range类型:•ClosedRange:a...b•Rangea..<b•PartialRangeThrough:...b•PartialRangeFrom:a...•PartialRangeUpTo:..<b对应的,有......
  • 无涯教程-JavaScript - CUMIPMT函数
    描述CUMIPMT函数返回start_period和end_period之间的贷款累计利息。语法CUMIPMT(rate,nper,pv,start_period,end_period,type)争论Argument描述Required/OptionalRateTheinterestrate.RequiredNperThetotalnumberofpaymentperiods.RequiredPvThep......
  • 无涯教程-JavaScript - COUPPCD函数
    描述COUPPCD函数返回一个数字,该数字表示结算日期之前的上一个息票日期。语法COUPPCD(settlement,maturity,frequency,[basis])争论Argument描述Required/OptionalSettlement证券的结算日期。证券结算日期是指在发行日期之后将证券交易给买方的日期。Required......
  • 重载运算符/重载函数
    所谓重载就是让命名空间原有的符号或者函数重新装载新的功能,体现了C++的多态特性比如原先的加法运算符"+"可以重载成其他用法,运算符的重载方式[返回类型]operator[重载符号]([形参]){//功能} 重载函数则直接以保持同样的函数名,修改函数功能、函数形参(可选)、......
  • Python教程(13)——Python运算符详解|算术运算符|比较运算符|逻辑运算符|位运算符
    Python的运算符是用于执行各种操作的符号或符号组合。它们用于操作数据并进行算术、比较、逻辑和其他类型的运算。我们所熟知的加减乘除也是运算符中的一种。Python提供了多种类型的运算符,有算术运算符,比较运算符,赋值运算符,逻辑运算符,位算符等等。算术运算符算术运算符是Python......
  • 无涯教程-JavaScript - COUPNCD函数
    描述COUPNCD函数返回一个数字,该数字表示结算日期之后的下一个息票日期。语法COUPNCD(settlement,maturity,frequency,[basis])争论Argument描述Required/OptionalSettlement证券的结算日期。证券结算日期是指在发行日期之后将证券交易给买方的日期。Required......
  • Python教程(13)——Python运算符详解|算术运算符|比较运算符|逻辑运算符|位运算符
    Python的运算符是用于执行各种操作的符号或符号组合。它们用于操作数据并进行算术、比较、逻辑和其他类型的运算。我们所熟知的加减乘除也是运算符中的一种。Python提供了多种类型的运算符,有算术运算符,比较运算符,赋值运算符,逻辑运算符,位算符等等。算术运算符算术运算符是Python......
  • 无涯教程-JavaScript - COUPDAYS函数
    描述COUPDAYS函数返回包含结算日期的息票期限内的天数。语法COUPDAYS(settlement,maturity,frequency,[basis])争论Argument描述Required/OptionalSettlement证券的结算日期。证券结算日期是指在发行日期之后将证券交易给买方的日期。RequiredMaturity证券......
  • 原生JavaScript框架设计(一):整合JS函数
    本篇为回顾js时总结,诣在整理JS中常用知识点,剖析其规律。模仿jQuery,简单一些,特定功能,像apply函数、getElementXXX函数等浏览器函数都没有实现,直接套用。创建common.js://自定义实现push函数varmyPush=function(target,els){ varj=target.length, i=0; while((target[j++]=e......