JS中?? 与 || 的区别

 

1)相同点:

?? 和 || 的用法相同,都是前后是值,中间用符号连接,根据前面的值来判断最终是返回前面的值还是后面的值。

  • One ?? Two
  • One || Two

2)不同点:

判断的方法不同:

  • 使用 ?? 时,只有One为 null 或者 undefined 时才会返回 two;
  • 使用 || 时,One会先转化为布尔值判断,为true时返回One , false 返回Two
  •  // ??
      undefined ?? 2    // 2
      null ?? 2        // 2
      0 ?? 2            // 0
      "" ?? 2            // ""
      true ?? 2        // true
      false ?? 2        // false
    
    
     // ||
      undefined || 2    // 2
      null || 2        // 2
      0 || 2            // 2
      "" || 2            // 2
      true || 2        // true
      false || 2        // 2

     

posted @ 2024-05-30 11:42  luckylou  阅读(34)  评论(0编辑  收藏  举报