从 ES11 (2020) 开发者的角度看,nullish 合并运算符到底有什么用?
在 JavaScript 开发中,我们经常需要对变量或属性进行条件判断,例如:
let a = b || c;
上面的代码当 b 不为假值(如 false、null、undefined、0、'' 等)时,a 将会是 b,否则 a 将会是 c。这种写法在有些场合下是非常有用的,但也存在一些潜在的问题。例如,当 b 的值为 0 或 '',我们却希望 a 能够取到 b 的值而不是 c。此时,我们需要额外的条件判断来处理这种情况。nullish 合并运算符就是为了解决这种问题而出现的。
nullish 合并运算符的语法是 ??。它的作用是如果左侧表达式的值是 null 或 undefined,那么就返回右侧表达式的值,否则返回左侧表达式的值。例如:
let a = b ?? c;
上面的代码当 b 的值为 null 或 undefined 时,a 将会是 c,否则 a 将会是 b。
nullish 合并运算符的附加属性是它是短路运算符。即如果左侧表达式的值不是 null 或 undefined,那么就不会计算右侧表达式,这也就意味着右侧表达式是懒执行的。
nullish 合并运算符从 ES11 (2020) 开始被引入,它的出现可以使我们更加轻松地处理 null 或 undefined 值,并且可以使代码更简洁清晰。
下面是一个使用 nullish 合并运算符的示例:
const name = user.name ?? 'Guest'; const age = user.age ?? 18; console.log(name); // "Guest" console.log(age); // 18
在上面的代码中,如果 user 对象中不存在 name 或 age 属性或这些属性的值为 null 或 undefined,那么 name 和 age 就会被设置为默认值。
总结起来,nullish 合并运算符是一种非常有用的 JavaScript 运算符,它可以使我们更方便地处理 null 或 undefined 值,并且可以减少代码量和条件判断的复杂度。在日常开发中,我们可以考虑使用这个运算符来优化代码。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64f55eb2f6b2d6eab3e164c8