【Java 进阶篇】JavaScript三元运算符详解

在这里插入图片描述

JavaScript是一门广泛用于前端和后端开发的编程语言,具备强大的表达式和运算符。本篇博客将重点介绍JavaScript中的三元运算符,解释其语法、用法和示例。如果您是JavaScript初学者,或者希望更深入了解这门语言的运算符,那么这篇博客将为您提供有关三元运算符的全面指南。

什么是三元运算符?

在JavaScript中,三元运算符是一种条件运算符,也称为条件表达式。这种运算符允许您基于某个条件的结果来选择两个不同的值之一。通常,它的语法如下:

condition ? expressionIfTrue : expressionIfFalse
  • condition:一个可以求值为truefalse的表达式。
  • expressionIfTrue:如果conditiontrue,则返回的值。
  • expressionIfFalse:如果conditionfalse,则返回的值。

三元运算符的主要作用是在一行代码中根据条件返回不同的值。它比使用if语句更紧凑,通常用于设置变量或返回值。

三元运算符的基本用法

下面我们来看一些三元运算符的基本用法示例,以便更好地理解它的功能。

1. 简单的三元运算符示例

let age = 25;
let message = (age >= 18) ? "成年人" : "未成年人";
console.log(message); // 输出:"成年人"

在这个例子中,如果age大于或等于18,三元运算符返回"成年人",否则返回"未成年人"。

2. 三元运算符用于变量赋值

三元运算符通常用于将不同的值赋给一个变量,具体取决于条件的结果。

let isRaining = true;
let weather = isRaining ? "带伞" : "不带伞";
console.log(weather); // 输出:"带伞"

在这个示例中,如果isRainingtrue,则weather变量被赋值为"带伞";如果isRainingfalse,则weather变量被赋值为"不带伞"。

3. 嵌套三元运算符

三元运算符可以嵌套在其他三元运算符内,但要小心使用,以确保代码的可读性。

let x = 10;
let y = 5;
let result = x > y ? "x 大于 y" : x < y ? "x 小于 y" : "x 等于 y";
console.log(result); // 输出:"x 大于 y"

在这个示例中,我们首先比较xy,如果x大于y,则返回"x 大于 y";否则,我们继续比较xy,如果x小于y,则返回"x 小于 y";否则,返回"x 等于 y"。

三元运算符与if语句的比较

三元运算符提供了一种更紧凑的方式来处理条件性赋值,但在某些情况下,使用if语句更为合适。下面是一些比较三元运算符和if语句的情况:

1. 简单条件

如果只需要在两个可能的值之间进行选择,而不涉及复杂的条件或多个条件,三元运算符是一个不错的选择。

// 使用三元运算符
let age = 25;
let message = (age >= 18) ? "成年人" : "未成年人";// 使用if语句
let age = 25;
let message;
if (age >= 18) {message = "成年人";
} else {message = "未成年人";
}

2. 复杂条件

如果条件逻辑更复杂,需要多个条件的组合,或者需要执行多个语句块,那么使用if语句通常更有利于代码的可读性。

// 使用三元运算符
let isMorning = true;
let isWeekend = false;
let greeting = isMorning && !isWeekend ? "早上好" : "你好";// 使用if语句
let isMorning = true;
let isWeekend = false;
let greeting;
if (isMorning && !isWeekend) {greeting = "早上好";
} else {greeting = "你好";
}

3. 返回值

三元运算符通常用于返回一个值,而不是执行一些操作。如果需要执行多个操作或没有返回值,if语句是更好的选择。

// 使用三元运算符(返回值)
function getGreeting(hour) {return hour < 12 ? "早上好" : "你好";
}// 使用if语句(没有返回值)
function sayGreeting(hour) {if (hour < 12) {console.log("早上好");} else {console.log("你好");}
}

结语

三元运算符是JavaScript中的一种强大工具,可用于在两个可能的值之间进行条件选择。它的紧凑性和简洁性使其成为代码中的常见选择,尤其是在单行操作或变量赋值的情况下。然而,对于更复杂的条件逻辑和多个操作,使用if语句通常更容易理解和维护。通过灵活运用这两种方法,您可以更好地管理JavaScript代码中的条件性逻辑。

希望这篇博客能够帮助您理解JavaScript中的三元运算符,并在日常编码中更好地应用它。如果您有任何问题或需要进一步的帮助,欢迎提出。愿您在JavaScript编程的道路上取得成功!

作者信息

作者 : 繁依Fanyi
CSDN: https://techfanyi.blog.csdn.net
掘金:https://juejin.cn/user/4154386571867191

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

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

相关文章

适合自学的网络安全基础技能“蓝宝书”:《CTF那些事儿》

CTF比赛是快速提升网络安全实战技能的重要途径&#xff0c;已成为各个行业选拔网络安全人才的通用方法。但是&#xff0c;本书作者在从事CTF培训的过程中&#xff0c;发现存在几个突出的问题&#xff1a; 1&#xff09;线下CTF比赛培训中存在严重的 “最后一公里”问题 &#…

鉴源实验室 | AUTOSAR SecOC:保障汽车通信的安全

作者 | 沈平 上海控安可信软件创新研究院汽车网络安全组 来源 | 鉴源实验室 社群 | 添加微信号“TICPShanghai”加入“上海控安51fusa安全社区” 在现代汽车行业中&#xff0c;随着电子控制单元&#xff08;ECUs&#xff09;的普及以及车与车之间通信的不断增加&#xff0c;确…

【Linux 安装Kibana 及 Es 分词器安装】

一、客户端Kibana安装 Kibana是一个开源分析和可视化平台&#xff0c;旨在与Elasticsearch协同工作。参考文档 1. 下载并解压缩Kibana 下载路径 选择的版本是和 ElasticSearch 对应&#xff08;7.17.3&#xff09; 下载后上传到Linux 系统中&#xff0c;并放在 /root/ 下&a…

利达卓越:关注环保事业,持续赋能科技

随着全球环境问题的日益突出,绿色金融作为一种新兴的金融模式逐渐受到各国的重视。绿色金融是指在金融活动中,通过资金、信贷和风险管理等手段,支持环境友好和可持续发展的项目和产业。绿色金融的出现是为了应对气候变化、资源短缺、污染问题等现实挑战,促进经济的绿色转型和可…

Unity可视化Shader工具ASE介绍——6、通过例子说明ASE节点的连接方式

大家好&#xff0c;我是阿赵。继续介绍Unity可视化Shader编辑插件ASE的用法。上一篇已经介绍了很多ASE常用的节点。这一篇通过几个小例子&#xff0c;来看看这些节点是怎样连接使用的。   这篇的内容可能会比较长&#xff0c;最终是做了一个遮挡X光的效果&#xff0c;不过把这…

Kotlin函数作为参数指向不同逻辑

Kotlin函数作为参数指向不同逻辑 fun sum(): (Int, Int) -> Int {return { a, b -> (a b) } }fun multiplication(): (Int, Int) -> Int {return { a, b -> (a * b) } }fun main(args: Array<String>) {var math: (Int, Int) -> Intmath sum()println(m…

Django 静态自定义化配置

STATIC # APP本地静态资源目录&#xff08;就APP对应的&#xff09; STATIC_URL "/static/"# 远程静态文件URL&#xff08;少用&#xff09; REMOTE_STATIC_URL# 外部引用静态文件目录&#xff08;外层的&#xff09; STATICFILES_DIRS [os.path.join(BASE_DIR, &…

Vue-2.8插槽

插槽分为默认插槽&#xff08;组件内定制一处结构&#xff09;、具名插槽&#xff08;组件内定制多处结构&#xff09; 作用域插槽不属于以上&#xff0c;只是插槽的一个传参语法 默认插槽 作用&#xff1a;让组件内部的一些结构支持自定义 需求&#xff1a;要在页面中显示…

安卓 kotlin-supportFragmentManager报红

如果你继承baseActivity 请查看 是不是继承 AppCompatActivity

ceph 分布式存储与部署

目录 一、存储基础&#xff1a; 1.单机存储设备&#xff1a; 2. 单机存储的问题&#xff1a; 3. 商业存储解决方案&#xff1a; 4. 分布式存储&#xff1a; 5. 分布式存储的类型&#xff1a; 二、Ceph 简介&#xff1a; 三、Ceph 优势&#xff1a; 四、Ceph 架构&#xff1a…

阿里云ModelScope 是一个“模型即服务”(MaaS)平台

简介 项目地址&#xff1a;https://github.com/modelscope/modelscope/tree/master ModelScope 是一个“模型即服务”(MaaS)平台&#xff0c;旨在汇集来自AI社区的最先进的机器学习模型&#xff0c;并简化在实际应用中使用AI模型的流程。ModelScope库使开发人员能够通过丰富的…

Tomcat和HPPT协议

1.介绍 1.Java EE 规范 JavaEE&#xff08;java Enterprise Edition&#xff09;&#xff1a;java企业版 JavaEE 规范是很多的java开发技术的总称。这些技术规范都是沿用自J2EE的。一共包括了13个技术规范 2.WEB概述 WEB在计算机领域中代表的是网络 像我们之前所用的WWW&…

[GXYCTF2019]Ping Ping Ping - RCE(空格、关键字绕过[3种方式])

[GXYCTF2019]Ping Ping Ping 1 解题流程1.1 小试牛刀1.2 三种解法1.2.1 解法一:变量定义拼接绕过1.2.2 解法二:base64编码绕过1.2.3 解法三:内联执行绕过2 思考总结1 解题流程 1.1 小试牛刀 1、提示?ip,结合题目名称,我们直接输入?ip=127.0.0.1 PING 127.0.0.1 (127.…

如何基于先进视频技术,构建互联网视频监控安全管理平台解决方案

一、建设思路 依托互联网&#xff0c;建设一朵云&#xff0c;实现各类二三类视频资源统一接入&#xff0c;实现天网最后100米、10米、1米的全域覆盖。 依托人工智能与互联网技术&#xff0c;拓展视频资源在政府、社会面等多领域的全面应用&#xff1b;建设与运营模式并存&…

分布式事务入门

文章目录 分布式事务问题本地事务分布式事务演示分布式事务问题 理论基础CAP定理一致性可用性分区容错矛盾 BASE理论 SeataSeata的架构部署TC服务微服务集成seata 动手实践XA模式两阶段提交Seata的XA模型实现XA模式 AT模式Seata的AT模型流程梳理脏写问题实现AT模式 TCC模式流程…

天猫用户重复购买预测(速通一)

天猫用户重复购买预测&#xff08;一&#xff09; 赛题理解1、评估指标2、赛题分析 理论知识1.缺失值处理2.不均衡样本3.常见的数据分布 数据探索探查影响复购的各种因素1.对店铺分析2.对用户分析3.对用户性别的分析4.对用户年龄的分析 特征工程1、特征工程介绍特征归一化类别型…

本文整理了Debian 11在国内的几个软件源。

1&#xff0e;使用说明 一般情况下&#xff0c;将/etc/apt/sources.list文件中Debian默认的软件仓库地址和安全更新仓库地址修改为国内的镜像地址即可&#xff0c;比如将deb.debian.org和security.debian.org改为mirrors.xxx.com&#xff0c;并使用https访问&#xff0c;可使用…

数据结构—顺序表

目录 1.线性表 2.顺序表概念 3.实现顺序表 (1)声明结构体 (2)初始化 (3)打印数据 (4) 销毁 (5)尾插&头插 尾插 判断是否扩容 头插 (6)尾删&头删 尾删 头删 (7)指定位置插入元素 (8)删除指定位置元素 (9)查找指定元素位置 (10)修改指定位置元素 完整版…

github小记(一):清除github在add或者commit之后缓存区

github清除在add或者commit之后缓存区 前言1. 第一步之后想要撤销2. 第二步之后想要撤销a. 改变一下rrr.txt的内容b. 想提交本地文件的test文件夹c. 我后悔了突然不想提交了 前言 github自用 一般github上代码提交顺序&#xff1a; 第一步&#xff1a; git add . or git ad…

【技术干货】如何快速创建商用照明 OEM APP?

本文介绍了如何在涂鸦 IoT 平台的 App 工作台上创建一款体验版商照 App、正式版 OEM App、上架 App、以及完成通用配置。 OEM App 开发 创建 App 登录 涂鸦 IoT 平台的 App 页面。 单击 创建APP&#xff0c;选择 商照 APP 进行创建。 在提示框里&#xff0c;完善 App 信息…