JavaScript基础知识18——逻辑运算符之短路运算

哈喽,大家好,我是雷工。

本节学习JavaScript基础知识------逻辑运算符中的短路运算,以下为学习笔记。
规则

1、如果是&&运算,只要遇到false,就立即短路,不会再执行了,直接返回当前值;
示例:

javascript 复制代码
let a =2,b=4,c=6;
console.log(a>b && b<c);//返回结果为:false;

逻辑运算中当有一个操作数不是布尔值的时候,逻辑运算不一定会返回一个布尔值。而是会遵循以下规则:

● 若前边的操作数隐式类型转换后为true,则返回后边的操作数。
示例:

javascript 复制代码
console.log(2&&0);//返回结果为:0;
console.log(2 && 3);//返回结果为:3;
console.log(teue && 2 && "雷工笔记");//返回结果为:雷工笔记

● 若前边操作数隐式类型转换后是false,那么就返回首个隐式转换为false的值,即短路运算的值。
示例:

javascript 复制代码
console.log(""&&  1);//返回空格;
console.log(4 &&  0 && "雷工笔记");//返回结果为:0;
console.log("雷工笔记" &&  false && 0 );//返回结果为:false;
console.log(  0 &&  null &&"雷工笔记" );//返回结果为:0;
console.log(  NaN &&  3 &&"雷工笔记" );//返回结果为:NaN;
console.log(  null &&  true &&"雷工笔记" );//返回结果为:null;
console.log(  undefined &&  true &&"雷工笔记" );//返回结果为:undefined;

**提醒:**返回值不一定是布尔类型的值,是null则返回null;是NaN则返回NaN;是undefined则返回undefined;

2、如果是||运算,只要遇到true,立即短路,不会再执行了,直接返回当前值;如果都为false,则会依次进行判断,打印最后一个表达式。
示例:

javascript 复制代码
console.log(1||3);//结果为:1;
console.log(0 || ''||3 );/返回/结果为:3;
console.log(0 || ''||3 || 4);//返回结果依然为:3;
console.log(undefined || null ||0);//返回结果为:0;
console.log(undefined || "雷工笔记" ||0);//返回结果为:雷工笔记;

提醒:与&&类似,返回值不一定是布尔类型的值。

3、如果逻辑运算符中既有且又有或,先计算且后计算或;
示例:

javascript 复制代码
console.log(0 && 1 || 3);//结果为:3;
console.log("" || 0 && 3)  ;//结果为:0;
相关推荐
破刺不会编程2 分钟前
socket编程TCP
linux·运维·服务器·开发语言·网络·网络协议·tcp/ip
北极糊的狐4 分钟前
IDEA中安装 CamelCase 插件实现变量快速生成驼峰命名
开发语言·php
【蜡笔小新】12 分钟前
《筑基篇》C语言基础2
c语言·开发语言
洛阳泰山39 分钟前
Java实现周易六爻自动排盘:根据起卦的公历时间换算农和干支时间,推算日柱空亡(旬空)
java·开发语言·周易·六爻·算卦
AY呀44 分钟前
# 🌟 JavaScript原型与原型链终极指南:从Function到Object的完整闭环解析 ,深入理解JavaScript原型系统核心
前端·javascript·面试
氤氲息1 小时前
鸿蒙 ArkTs 的WebView如何与JS交互
javascript·交互·harmonyos
小皮虾1 小时前
护航隐私!小程序纯前端“证件加水印”:OffscreenCanvas 全屏平铺实战
前端·javascript·微信小程序
叫我詹躲躲1 小时前
Vue 3 动画效果实现:Transition和TransitionGroup详解
javascript·vue.js
叫我詹躲躲1 小时前
别再用mixin了!Vue3自定义Hooks让逻辑复用爽到飞起
javascript·vue.js
Smile丶凉轩1 小时前
C++ 高性能内存池面试题总结
开发语言·c++