美文网首页
逻辑空合并运算符、可选链操作符

逻辑空合并运算符、可选链操作符

作者: 橙小光 | 来源:发表于2024-03-21 17:40 被阅读0次

记一个常用操作: ?? 逻辑空合并运算符

/* 
      *  逻辑空处理,防止接口将null当成字符串处理 @obj
        * 【??】 逻辑空合并操作符,只会对 null 和 undefined 进行判断,
        *  不对其他Falsy值(比如 0、false、''、NaN: 非数值(Not-a-Number))生效
 */
    nullToEmpty(obj) {
        let n = {};
        for (let i in obj) {
            n[i] = obj[i] ?? "";
        }
        return n;
    },

在JavaScript中,Falsy 值是指在条件判断时会被当作 false 的值。以下是JavaScript中被视为 Falsy 值的一些情况:

  1. false: 布尔值 false
  2. 0: 数值 0
  3. '': 空字符串
  4. null
  5. undefined
  6. NaN: 非数值(Not-a-Number)

当条件判断时,如果一个值为以上列出的任何一个,它会被当作 false,其他情况则被当作 true。这些值被称为 Falsy 值,因为它们在条件判断中的行为类似于布尔值 false

举个例子,以下的条件判断中,如果变量 x 的值是 Falsy 值,条件判断会认为 xfalse,否则会认为 xtrue

if (x) {
    // 如果 x 是非 Falsy 值
} else {
    // 如果 x 是 Falsy 值
}

可选链操作符(?.)

res.result?.total == 0
// 这是一个可选链操作符(?.)的用法。首先,它检查res.result是否存在(不是null或undefined)。如果res.result存在,那么表达式会继续执行total == 0,检查res.result对象的total属性是否等于0。如果res.result不存在(比如是null或undefined),则整个可选链表达式的结果为undefined,并且在条件判断中会被视为假。

相关文章

网友评论

      本文标题:逻辑空合并运算符、可选链操作符

      本文链接:https://www.haomeiwen.com/subject/dezftjtx.html