news 2026/4/15 15:14:37

HoRain云--JavaScript运算符:从入门到精通

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HoRain云--JavaScript运算符:从入门到精通

🎬 HoRain云小助手:个人主页

🔥 个人专栏: 《Linux 系列教程》《c语言教程》

⛺️生活的理想,就是为了理想的生活!


⛳️ 推荐

前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。

专栏介绍

专栏名称

专栏介绍

《C语言》

本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。

《网络协议》

本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘,一起解密网络协议在运行中协议的基本运行机制!

《docker容器精解篇》

全面深入解析 docker 容器,从基础到进阶,涵盖原理、操作、实践案例,助您精通 docker。

《linux系列》

本专栏主要撰写Linux干货内容,从基础到进阶,知识由抽象到简单通俗易懂,帮你从新手小白到扫地僧。

《python 系列》

本专栏着重撰写Python相关的干货内容与编程技巧,助力大家从底层去认识Python,将更多复杂的知识由抽象转化为简单易懂的内容。

《试题库》

本专栏主要是发布一些考试和练习题库(涵盖软考、HCIE、HRCE、CCNA等)

目录

⛳️ 推荐

专栏介绍

JavaScript 比较运算符与逻辑运算符详解

一、比较运算符

二、逻辑运算符

1. 逻辑与 (&&)

2. 逻辑或 (||)

3. 逻辑非 (!)

4. 真值与假值

三、实际应用

1. 默认值设置

2. 短路求值避免错误

3. 逻辑组合

四、重要提示


JavaScript 比较运算符与逻辑运算符详解

一、比较运算符

比较运算符用于比较两个值,返回布尔值(true 或 false)。主要比较运算符包括:

运算符说明
==等于(松散相等,会进行类型转换)
===严格等于(不进行类型转换)
!=不等于(松散不相等)
!==严格不等于(不进行类型转换)
>大于
<小于
>=大于等于
<=小于等于

注意:在JavaScript中,比较运算符会进行类型转换,这可能导致一些意外结果。例如:

0 == false; // true(0转换为false) '' == false; // true(空字符串转换为false) 1 == '1'; // true(字符串'1'转换为数字1) 1 === '1'; // false(类型不同)

二、逻辑运算符

逻辑运算符用于组合布尔表达式,但JavaScript的逻辑运算符有独特之处:它们返回的是操作数的值,而不仅仅是布尔值。

1. 逻辑与 (&&)

规则:如果第一个操作数为真(truthy),则返回第二个操作数;否则返回第一个操作数(短路)。

特点

示例

console.log(true && 'hello'); // 'hello'(第一个为真,返回第二个) console.log(false && 'hello'); // false(第一个为假,返回第一个) console.log(0 && 'hello'); // 0(0是falsy,返回0) console.log('abc' && 'hello'); // 'hello'('abc'是truthy,返回第二个) console.log(null && 'hello'); // null(null是falsy,返回null)

2. 逻辑或 (||)

规则:如果第一个操作数为真(truthy),则返回第一个操作数;否则返回第二个操作数(短路)。

特点

示例

console.log(true || 'hello'); // true(第一个为真,返回第一个) console.log(false || 'hello'); // 'hello'(第一个为假,返回第二个) console.log(0 || 'hello'); // 'hello'(0是falsy,返回第二个) console.log('abc' || 'hello'); // 'abc'('abc'是truthy,返回第一个) console.log(null || 'hello'); // 'hello'(null是falsy,返回第二个)

3. 逻辑非 (!)

规则:对操作数的布尔值取反。

特点

示例

console.log(!true); // false console.log(!false); // true console.log(!0); // true(0是falsy,取反为true) console.log(!''); // true(空字符串是falsy,取反为true) console.log(!'abc'); // false('abc'是truthy,取反为false)

4. 真值与假值

JavaScript中,除了以下6种值为"假值"(falsy)外,其他值均为"真值"(truthy):

假值说明
false布尔值false
0数字0
''""空字符串
null空值
undefined未定义
NaN非数字值

真值示例1,'hello',true,[1,2],{},new Date()

三、实际应用

1. 默认值设置

function greet(name) { name = name || 'Guest'; // 如果name为falsy,使用默认值'Guest' console.log(`Hello, ${name}!`); } greet(); // 输出: Hello, Guest! greet('Alice'); // 输出: Hello, Alice!

2. 短路求值避免错误

const user = null; console.log(user && user.name); // 输出: null(不会报错,因为短路)

3. 逻辑组合

// 检查用户名和密码是否有效 function validateForm(username, password) { return (username.length > 5) && (password.length >= 8); } console.log(validateForm('user', 'pass123')); // false(用户名长度不足) console.log(validateForm('username', 'password123')); // true

四、重要提示

  1. 类型转换:逻辑运算符会将操作数隐式转换为布尔值,但返回的是原始操作数值,而非布尔值。

  2. 短路求值:这是逻辑运算符的重要特性,可以提高性能并避免潜在错误。

  3. 优先级&&优先级高于||,需要时使用括号明确优先级:

    console.log(true || false && false); // 等同于 true || (false && false) → true console.log((true || false) && false); // 等同于 (true || false) && false → false
  4. 双非运算符!!可以将任意值转换为对应的布尔值:

    console.log(!!0); // false console.log(!!'abc'); // true console.log(!![]); // true

理解这些运算符的特性和行为,可以帮助你编写更简洁、更高效的JavaScript代码。

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/14 18:37:38

django-flask基于python旅游导游管理系统的功能全bja0vffx

目录基于Python的旅游导游管理系统功能摘要后台管理功能行程规划引擎用户交互模块数据分析看板扩展功能项目技术支持可定制开发之功能亮点源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作基于Python的旅游导游管理系统功能摘要 Django和Fla…

作者头像 李华
网站建设 2026/4/12 14:39:27

django-flask基于python高校毕业生就业信息实习管理系统pycharm -Vue

目录Django-Flask 基于 Python 的就业管理系统摘要技术架构与功能模块系统核心功能开发与部署流程项目技术支持可定制开发之功能亮点源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作Django-Flask 基于 Python 的就业管理系统摘要 该系统采用…

作者头像 李华
网站建设 2026/3/27 14:58:27

Qwen3-4B-Instruct-2507优化指南:UI-TARS-desktop能耗管理

Qwen3-4B-Instruct-2507优化指南&#xff1a;UI-TARS-desktop能耗管理 1. UI-TARS-desktop简介 1.1 Agent TARS 的核心定位与多模态能力 Agent TARS 是一个开源的多模态 AI Agent 框架&#xff0c;致力于通过融合视觉理解&#xff08;Vision&#xff09;、图形用户界面操作&…

作者头像 李华
网站建设 2026/3/28 18:31:41

Android自动化抢红包终极指南:破解手动操作效率瓶颈

Android自动化抢红包终极指南&#xff1a;破解手动操作效率瓶颈 【免费下载链接】AutoRobRedPackage DEPRECATED :new_moon_with_face: 实现全自动抢红包并自带关闭窗口功能 项目地址: https://gitcode.com/gh_mirrors/au/AutoRobRedPackage 3分钟速览&#xff1a;无需ro…

作者头像 李华
网站建设 2026/4/11 3:30:39

PX4无人机飞控系统快速入门实战:零基础到首次飞行全流程

PX4无人机飞控系统快速入门实战&#xff1a;零基础到首次飞行全流程 【免费下载链接】PX4-Autopilot PX4 Autopilot Software 项目地址: https://gitcode.com/gh_mirrors/px/PX4-Autopilot 想要快速上手无人机自主飞行开发吗&#xff1f;PX4作为业界领先的开源飞控系统&…

作者头像 李华