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

判断符号??,?. ,! ,!! ,|| ,,?: 意思以及举例

  1. ??(逻辑空合并运算符)

    • 含义:如果左边的值是 nullundefined,则返回右边的值,否则返回左边的值。
    • 示例
      let a = null;
      console.log(a ?? 10);  // 输出:10
      let b = 5;
      console.log(b ?? 10);  // 输出:5
      
  2. ?.(可选链运算符)

    • 含义:用于安全地访问对象深层次的属性,避免出现 Cannot read property 'xxx' of undefined 的错误。
    • 示例
      const obj = { a: { b: 1 } };
      console.log(obj?.a?.b);  // 输出:1
      console.log(obj?.c?.d);   // 输出:undefined
      
  3. !(逻辑非)

    • 含义:将值转换为布尔值的反面。非布尔值会被强制转换为布尔值。
    • 示例
      console.log(!true);     // 输出:false
      console.log(!"hello");  // 输出:false
      console.log(!0);        // 输出:true
      
  4. !!(双重非)

    • 含义:将任意类型的值强制转换为布尔值。
    • 示例
      console.log(!!"");       // 输出:false
      console.log(!!"hello"); // 输出:true
      console.log(!!0);       // 输出:false
      console.log(!!1);       // 输出:true
      
  5. ||(逻辑或)

    • 含义:如果左边的值是真值,则返回左边的值;否则返回右边的值。
    • 示例
      console.log(true || false);  // 输出:true
      console.log(false || 10);   // 输出:10
      console.log("" || "hello");// 输出:"hello"
      
  6. &&(逻辑与)

    • 含义:如果左边的值是真值,则返回右边的值;否则返回左边的值。
    • 示例
      console.log(true && false); // 输出:false
      console.log(true && 10);   // 输出:10
      console.log("" && "hello"); // 输出:""
      
  7. ?:(三元条件运算符)

    • 含义:根据条件判断返回不同的值,属于一种简洁的 if-else 表达方式。
    • 示例
      const num = 5;
      const isEven = num % 2 === 0 ? "偶数" : "奇数";
      console.log(isEven);       // 输出:"奇数"
      

这些运算符在前端开发中非常常用,能够让代码更加简洁和高效。


http://www.mrgr.cn/news/100529.html

相关文章:

  • 【Java面试题01】Spring经典面试题
  • 李飞飞:计算机视觉,教机器看懂世界
  • Diffusion inversion后的latent code与标准的高斯随机噪音不一样
  • 基于 SpringBoot 与 Redis 的缓存预热案例
  • 信创系统 sudoers 权限配置实战!从小白到高手
  • 【Unity完整游戏开发案例】从0做一个太空大战游戏
  • 罗伯·派克:Go语言创始者的极客人生
  • 【Java面试题02】Java 集合常见面试题
  • 【数据结构】哈希表
  • 如何搭建spark yarn模式的集群
  • Qt中的全局函数讲解集合(全)
  • gem5-gpu教程03 当前的gem5-gpu软件架构(因为涉及太多专业名词所以用英语表达)
  • 刷刷刷刷刷RCE
  • 初识Redis · 哨兵机制
  • git检查提交分支和package.json的version版本是否一致
  • 【Linux应用】开发板快速上手:镜像烧录、串口shell、外设挂载、WiFi配置、SSH连接、文件交互(RADXA ZERO 3为例)
  • Python+Selenium+Pytest+Allure PO模式UI自动化框架
  • Java 富文本转word(支持水印)
  • 关于Spring Boot构建项目的相关知识
  • ubuntu 安装ollama后,如何让外网访问?