前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JS中的与、或(&&、||)

JS中的与、或(&&、||)

作者头像
田小檬
发布2023-08-24 10:38:02
1870
发布2023-08-24 10:38:02
举报
文章被收录于专栏:田小檬博客田小檬博客

说明

我们常说的是 与运算 只有表达式都为 true 时,才返回 true,否则返回 false(口诀:全真才真,一假则假)

理解误区:&& || 直接返回的是布尔值?

与运算 &&

答案是否定的:在与运算符在计算过程中,自左向右执行判断表达式,若当前表达式转为布尔值为false,则返回当前表达式的值否则将会继续执行,直到最后一个表达式,不再进行判断直接返回该表达式的值

简单说 逻辑与是一种短路逻辑,如果左侧表达式为 false,则直接短路返回结果,不再运算右侧表达式。运算逻辑如下(两个表达式的情况):

  • 第 1 步:计算第一个表达式(左侧表达式)的值。
  • 第 2 步:检测第一个表达式的值。如果左侧表达式的值可转换为 false(如 null、undefined、NaN、0、""、false),那么就会结束运算,直接返回第一个操作数的值。
  • 第 3 步:如果第一个表达式可以转换为 true,则计算第二个操作数的值。
  • 第 4 步:返回第二个表达式的值。

举例:

代码语言:javascript
复制
var a = 1 && 2;
var b = 0 && 2;
var c = 1 && 2 && null;
var d = 1 && 1-1 && null;

上述a的值为2,b为0,c为null,d为0

短路使场景

代码语言:javascript
复制
var user = 0;  //定义并初始化变量
(! user && console.log("变量没有赋值"));  //返回提示信息“变量没有赋值”

或运算 ||

在或运算中执行方式和与运算一致,只是判断false才继续执行直到true或执行到最后一个表达式

不再举例

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-06-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 说明
  • 与运算 &&
    • 举例:
      • 短路使场景
      • 或运算 ||
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档