您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# JavaScript表达式是什么
## 1. 表达式的基本概念
表达式(Expression)是JavaScript中一个基础但核心的概念。简单来说,**表达式是能够被求值并产生一个结果的代码片段**。与语句(Statement)不同,表达式的主要目的是计算值而非执行操作。
### 1.1 表达式的特征
- 总是会返回一个值(可能是原始值或对象)
- 可以嵌套在其他表达式中
- 可以出现在任何需要值的地方
### 1.2 表达式 vs 语句
| 特性 | 表达式 | 语句 |
|-------------|-------------------------|-----------------------|
| 返回值 | 总是有 | 可能没有 |
| 使用场景 | 需要值的地方 | 执行操作的地方 |
| 示例 | `3 + 4` | `if(...){...}` |
## 2. JavaScript表达式的类型
JavaScript包含多种表达式类型,以下是主要分类:
### 2.1 算术表达式
```javascript
10 + 20 // 加法
3 * 7 // 乘法
15 % 4 // 取模
2 ** 3 // 指数运算
"Hello" + " " + "World" // 字符串拼接
`Total: ${100}` // 模板字符串
a && b // 逻辑与
x || y // 逻辑或
!flag // 逻辑非
age > 18 // 大于
score === 100 // 严格相等
arr.length <= 0
x = 10 // 简单赋值
y += 5 // 复合赋值
[a, b] = [1, 2] // 解构赋值
age >= 18 ? '成人' : '未成年'
const square = function(x) { return x * x; }
(() => console.log('IIFE'))() // 立即执行函数表达式
{ name: 'Alice', age: 25 } // 对象字面量
[1, 2, 3, 4] // 数组字面量
JavaScript表达式按照运算符优先级和结合性规则求值:
2 + 3 * 4 // 先计算3*4,再+2 → 14
(2 + 3) * 4 // 先计算2+3,再*4 → 20
逻辑表达式具有短路特性:
false && anything // 直接返回false
true || anything // 直接返回true
某些表达式会产生副作用:
let a = 0;
a++ // 表达式返回0,但a变为1
obj.method1().method2().prop
let x = (1, 2, 3) // x的值为3
new Date() // 创建Date对象
const data = await fetchData()
if (score >= 60) {
console.log('及格')
}
Math.max(10, 20, 30)
console.log(`当前温度:${temp}℃`)
<div>{isLoggedIn ? 'Welcome' : 'Please login'}</div>
if (x = 10) {} // 误用赋值而非比较
1 + 2 * 3 !== 9 // 实际是7
user?.address?.city
obj?.prop?.method?.()
const value = input ?? 'default'
let result = x |> double |> increment |> square;
JavaScript表达式是构成代码逻辑的基础单元,理解各种表达式类型及其求值规则对于编写高效、可维护的代码至关重要。从简单的算术运算到复杂的链式调用,表达式贯穿于JavaScript编程的各个方面。随着ECMAScript标准的演进,表达式的表达能力也在不断增强,为开发者提供了更简洁、更安全的编码方式。
掌握表达式的本质,就能更深入地理解JavaScript的运行机制,写出更优雅的代码。 “`
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。