在 JavaScript 面试中,经常会被问到有关 Nullish 合并运算符的问题。Nullish 合并运算符是 ES11 (ECMAScript2020)中引入的一个新特性,它是一个非常实用且方便的运算符,特别是在条件语句和默认参数的场景中。
Nullish 合并运算符
首先,我们先来看一下 Nullish 合并运算符的基本语法:
a ?? b
它的含义是:如果 a 的值是 null 或 undefine,则返回 b,否则返回 a。可以看出,Nullish 合并运算符是一种比 || 运算符更加严格的判断方式。因为 || 运算符只要 a 的值为假值(false、0、''、NaN、undefined 和 null)就会返回 b。
以下是一些使用 Nullish 合并运算符的示例。
-- -------------------- ---- ------- --- - - ---- --- - - ------- --- - - - -- - -------------- -- ------- - - --------- - - ------- - - - -- - -------------- -- ------- - - -- - - ------- - - - -- - -------------- -- -- - - --- - - ------- - - - -- - -------------- -- ---
指导意义
Nullish 合并运算符在 JavaScript 中是一个非常实用的语法,特别是在处理函数默认参数方面。传统的默认参数方式通常是通过 || 运算符实现的,但是,它会将 0 和 '' 等 falsy 值误认为是未传入值情况,在某些情景下会导致不必要的错误。而 Nullish 合并运算符则可以非常准确地判断是否定义了参数值。
以下是一个示例:
-- -------------------- ---- ------- -------- ------------------ - ---- - ---- -- ------ ------- ----------------- - -------------- -- ------ ------- ------------------ -- ------ ------- ----------------------- -- ------ ------- ------------------ -- ---- ---------------- -- -- --------------- -- -
在这个示例中,函数默认值为 'hello world!'。如果使用默认参数方式作为函数参数的默认值,那么传入任何 falsy 值,都会被默认参数覆盖。但是,Nullish 合并运算符则在正确处理函数默认参数方面更加准确。
结论
Nullish 合并运算符是 ES11 (ECMAScript2020)中引入的一个新特性,它是一个非常实用且方便的运算符,特别是在条件语句和默认参数的场景中。使用这个新特性能够让我们更加准确地处理各种情况,避免因为默认参数值错误导致的错误,建议各位开发者尽快熟悉并使用这个新特性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/672194d02e7021665e081322