javascript中??和||的区别

Posted 低代码布道师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript中??和||的区别相关的知识,希望对你有一定的参考价值。

??

空值合并运算符,a??b 的返回结果是,如果a被定义了,那就返回a,如果a没有被定义,那么就返回b。返回第一个不是null/undefined的参数

let user;
alert(user??"Anonymous")//返回Anonymous
let user = "John";

alert(user ?? "Anonymous"); //返回John
let firstName = null;
let lastName = null;
let nickName = "Supercoder";

// shows the first defined value:
alert(firstName ?? lastName ?? nickName ?? "Anonymous");//返回Supercoder

与||的区别

let height = 0;

alert(height || 100); // 100
alert(height ?? 100); // 0

??的话因为height已经被初始化就返回0,||的话0也是一个假值,所以返回100

以上是关于javascript中??和||的区别的主要内容,如果未能解决你的问题,请参考以下文章

你可能不知道的JavaScript代码片段和技巧(下)

你可能不知道的JavaScript代码片段和技巧(上)

常用Javascript代码片段集锦

10个JavaScript代码片段,使你更加容易前端开发。

10个JavaScript代码片段,使你更加容易前端开发。

JavaScript 有用的代码片段和 trick