当前位置: 首页 > news >正文

【前端开发】三. JS运算符

JavaScript 运算符总结

运算符用于对变量和值执行操作。以下是 JavaScript 中常见运算符的分类和说明:


1. 算术运算符

运算符

名称

示例

说明

+

加法

x + y

数字相加或字符串拼接

-

减法

x - y

*

乘法

x * y

/

除法

x / y

%

取模

x % y

返回除法余数

**

指数

x ** y

x 的 y 次幂(ES2016)

++

自增

x++ / ++x

增量操作(前后缀)

++在前 先自增再赋值

++ 在后 先赋值再自增

-- 同理

--

自减

x-- / --x

减量操作(前后缀)


2. 赋值运算符

运算符

示例

等价于

=

x = 5

+=

x += 3

x = x + 3

-=

x -= 2

x = x - 2

*=

x *= 4

x = x * 4

/=

x /= 2

x = x / 2

%=

x %= 3

x = x % 3

**=

x **= 2

x = x ** 2


3. 比较运算符

运算符

名称

示例

说明

==

等于

x == y

值相等(忽略类型)

===

严格等于

x === y

值和类型均相等

!=

不等于

x != y

值不相等(忽略类型)

!==

严格不等于

x !== y

值或类型不相等

>

大于

x > y

<

小于

x < y

>=

大于等于

x >= y

<=

小于等于

x <= y


4. 逻辑运算符

运算符

名称

示例

说明

&&

x && y

两者为真时返回 y(短路求值)

||

x || y

任一为真时返回第一个真值(短路)

!

!x

取反(true → false)

??

空值合并

x ?? y

x 为 null/undefined 时返回 y(ES2020)


5. 位运算符

运算符

名称

示例

&

按位与

x & y

|

按位或

x | y

^

按位异或

x ^ y

~

按位非

~x

<<

左移

x << 2

>>

右移

x >> 2

>>>

无符号右移

x >>> 2


6. 三元运算符

运算符

示例

说明

? :

x ? y : z

若 x 为真则 y,否则 z


7. 其他运算符

运算符

名称

示例

说明

typeof

类型检测

typeof x

返回变量类型(如 "string")

instanceof

实例检测

obj instanceof Array

检查对象是否属于指定类

in

属性检测

"key" in obj

检查对象是否包含属性

delete

属性删除

delete obj.key

删除对象属性

...

展开运算符

[...arr]

展开数组/对象(ES6+)

?.

可选链

obj?.prop

避免 null/undefined 错误(ES2020)


8. 运算符优先级

从高到低常见优先级:

  1. ()(分组)
  2. !、++、--(一元操作符)
  3. *、/、%
  4. +、-
  5. >、<、>=、<=
  6. ==、===、!=、!==
  7. &&
  8. ||、??
  9. ? :(三元)
  10. =、+=(赋值)
提示:使用 () 明确优先级以避免歧义。

示例代码
// 算术 + 赋值
let a = 10;
a **= 2; // a = 100// 比较 + 逻辑
console.log(5 === "5"); // false(严格等于)
console.log(null ?? "default"); // "default"(空值合并)// 三元运算符
const age = 20;
const status = age >= 18 ? "Adult" : "Minor"; // "Adult"// 可选链
const user = { address: { city: "Paris" } };
console.log(user?.address?.city); // "Paris"
console.log(user?.contact?.phone); // undefined(不报错)
http://www.dtcms.com/a/317133.html

相关文章:

  • MCU程序段的分类
  • 异世界历险之数据结构世界(非递归快排,归并排序(递归,非递归))
  • 搭建私有 Linux 镜像仓库
  • 算法训练营DAY55 第十一章:图论part05
  • 图论(邻接表)DFS
  • 藏文识别技术:为藏文化的保护、传播、研究与发展注入核心动力
  • 【C++基础】宏的高级替代方案:面试高频考点 + 真题解析全攻略
  • 推荐系统召回粗排的优化思路
  • 数据大集网:以数据为纽带,重构企业贷获客生态的助贷平台实践
  • 【WAIC 2025】AI安全的攻防前线:合合信息AI鉴伪检测技术
  • 基于Vue+Node.js(Express)实现(Web)物联网的蔬菜大棚温湿度监控系统
  • Google地图的“网络定位”功能
  • 中国移动h10g-01_S905L处理器安卓7.1当贝纯净版线刷机包带root权限_融合终端网关
  • Spring Boot 参数校验全指南
  • 学习日志29 python
  • 猫头虎AI分享:Claude Opus 新版 4.1 在 SWE-bench Verified 上准确率达到了 74.5%,在多文件代码重构方面表现突出
  • 力扣经典算法篇-44-组合总和(回溯问题)
  • Qt菜单栏与工具栏实战
  • Linux86 sheel流程控制前瞻4 判断vsftpd服务启动,如果启动,打印端口号,进程id
  • 基于FFmpeg和HLS的大文件分片传输方案
  • SRS简介及简单demo
  • 豆包新模型与PromptPilot工具深度测评:AI应用开发的全流程突破
  • 神经网络搭建对CIFAR10数据集分类
  • 生成式AI如何颠覆我们的工作和生活
  • 深度学习(pytorch版)前言:环境安装和书籍框架介绍
  • 【Canvas与三角形】黑底回环金片三角形
  • 如何解决网页视频课程进度条禁止拖动?
  • DHCP 服务器与DNS服务器
  • QML开发:QML中的基本元素
  • JAVA高级编程第六章