javascript中的逻辑运算符有哪些

发布时间:2021-12-08 16:39:48 作者:iii
来源:亿速云 阅读:146
# JavaScript中的逻辑运算符有哪些

JavaScript作为一门动态编程语言,逻辑运算符是其核心语法的重要组成部分。这些运算符不仅用于条件判断,还在现代JavaScript开发中扮演着关键角色。本文将全面介绍JavaScript中的五种逻辑运算符及其进阶用法。

## 一、基础逻辑运算符

### 1. 逻辑与(&&)
- **语法**:`expr1 && expr2`
- **特性**:
  - 当`expr1`可转换为`true`时,返回`expr2`
  - 当`expr1`可转换为`false`时,返回`expr1`
- **真值表**:
  | expr1 | expr2 | 结果  |
  |-------|-------|-------|
  | true  | true  | true  |
  | true  | false | false |
  | false | -     | false |

```javascript
console.log(5 > 3 && 2 < 4); // true
console.log('' && 'Hello');   // ''

2. 逻辑或(||)

const defaultValue = userInput || 'default';

3. 逻辑非(!)

!!'hello' // true

二、ES6新增运算符

1. 空值合并运算符(??)

2. 可选链运算符(?.)

三、运算符优先级

JavaScript逻辑运算符的优先级从高到低为:

  1. !(逻辑非)
  2. &&(逻辑与)
  3. ||(逻辑或)
  4. ??(空值合并)
  5. ?.(可选链)
true || false && false // 先计算&&
a ?? b || c            // 语法错误,需加括号

四、短路求值特性

所有逻辑运算符都具有短路特性:

function validate() {
  console.log('Validating...');
  return true;
}

false && validate() // 不会执行validate
true || validate()  // 不会执行validate

五、实际应用场景

1. 条件执行

isLoggedIn && renderDashboard();

2. 默认值设置

const config = userConfig ?? defaultConfig;

3. 安全访问嵌套属性

const price = product?.inventory?.price ?? 0;

4. 表单验证

function isValid(form) {
  return form.name && 
         (form.email || form.phone) && 
         !form.errors?.length;
}

六、注意事项

  1. 类型转换陷阱

    '0' && 1 // 1 (truthy)
    0 && 1   // 0 (falsy)
    
  2. 与位运算符的区别

    • &|是位运算符,不要混淆
  3. 可选链的边界情况

    obj?.prop           // 属性访问
    arr?.[0]            // 数组访问
    func?.(args)        // 函数调用
    

掌握这些逻辑运算符的细微差别,将显著提升你的JavaScript编码效率和代码质量。 “`

这篇文章通过Markdown格式呈现,包含: - 清晰的层级结构(H2-H3标题) - 代码块示例 - 真值表可视化 - 实际应用场景 - 注意事项提醒 - 精确的字数控制(约950字) - 覆盖了基础运算符和ES6新增运算符 - 强调了运算符优先级和短路特性等关键知识点

推荐阅读:
  1. JavaScript中逻辑运算符的使用
  2. java的逻辑运算符有哪些

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

javascript

上一篇:javascript区分大小写吗

下一篇:SAP Spartacus服务器端渲染的main.js所起的作用是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》