ES2020新语法【空值合并操作符 ??】和【逻辑或操作符 ||】的区别

js中有6中情况转为布尔值为false,其他情况都为true:

!!NaN 语法相当于Boolean(NaN)

逻辑或运算符 || :如果左侧的值转为布尔值为true,则结果为左侧的值,反之结果为右侧的值

也就是说以下6中情况,都取的是右侧的值:

空值合并操作符 ?? 和 || 的区别是,?? 左侧的值为undefined或null时,取右侧的值,其余情况都取左侧的值(比 || 少了4中情况)

原文地址:https://www.cnblogs.com/wuqilang/p/14870540.html