在过去的几年中,JavaScript 的发展一直在不断地迅速发展。随着 ECMAScript 2021 的发布,JavaScript 的语言特性也得到了更新和增强。其中一个最引人注目的特性是 Nullish 合并运算符。
什么是 Nullish 合并运算符?
Nullish 合并运算符是 ECMAScript 2021 中引入的一个新运算符,用于处理 JavaScript 中的空值。它使用两个问号(??)表示,其作用是在两个值中选择一个非空值。如果左侧的值是 null 或 undefined,则返回右侧的值,否则返回左侧的值。
这个运算符的行为与 || 运算符有些相似,但是它们有一个重要的区别。|| 运算符在处理 falsy 值时会将其转换为布尔值,但是 Nullish 合并运算符只在处理 null 或 undefined 时才会返回右侧的值。
为什么要使用 Nullish 合并运算符?
在 JavaScript 中,当我们需要设置默认值时,通常会使用 || 运算符。例如:
function foo(x) { x = x || 10; console.log(x); } foo(); // 输出 10
这段代码中,如果 x 的值为 falsy,那么它将被设置为默认值 10。但是这种方式有一个问题,如果 x 的值为 0 或空字符串 "",它们也会被视为 falsy 值,因此它们也会被设置为默认值。这可能会导致意外的行为。
Nullish 合并运算符可以解决这个问题。例如:
function foo(x) { x = x ?? 10; console.log(x); } foo(); // 输出 10
这段代码中,只有当 x 的值为 null 或 undefined 时,它才会被设置为默认值 10。如果 x 的值为 0 或空字符串 "",它们不会被视为 null 或 undefined,因此它们不会被设置为默认值。
如何使用 Nullish 合并运算符?
Nullish 合并运算符可以用于任何需要处理空值的情况。例如:
const foo = null ?? "default"; console.log(foo); // 输出 "default" const bar = undefined ?? "default"; console.log(bar); // 输出 "default" const baz = 0 ?? "default"; console.log(baz); // 输出 0
在这些例子中,Nullish 合并运算符都被用于处理空值,并返回一个默认值。
结论
Nullish 合并运算符是 ECMAScript 2021 中引入的一个新特性,用于处理 JavaScript 中的空值。它可以帮助我们避免一些意外的行为,并使代码更加健壮和可读。如果你正在开发 JavaScript 应用程序,那么使用 Nullish 合并运算符会是一个不错的选择。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/675aacbb4b9d41201aba7b28