??
??表示空值合并运算符(Nullish Coalescing),当进行运算的变量为undefined或null,赋予变量一个默认的值。
??在某些场景下可以替换||。
??其实可以看做是if(条件表达式){代码}的简写,替换后为条件表达式 ?? 代码
// ||运算符处理0, NaN, ""等情况会返回false
const a = 0;
const result = a || true;
console.log(`result: ${result}`); // result: true
// ??运算符避免这种情况
const b = 0;
const result = b || true;
console.log(`result: ${result}`); // result: 0
!!
TypeScript官方手册未调用函数检查中的一段描述:
If you intended to test the function without calling it, you can correct the definition of it to include
undefined/null, or use!!to write something likeif (!!user.isAdministrator)to indicate that the coercion is intentional.
如果函数定义中不包含undefined/null,if判断时会因为函数是defined而返回true。!!可以实现强制调用函数,然后对函数返回的结果进行条件判断。
本文介绍了JavaScript中的空值合并运算符??,它在值为undefined或null时提供默认值,避免了逻辑运算符||在处理0、NaN或空字符串时的意外情况。此外,还探讨了如何使用!!运算符来确保函数在条件判断中的正确应用。文章深入浅出地解释了这两个运算符在实际编程中的作用和使用场景。
492

被折叠的 条评论
为什么被折叠?



