利用 ES10 的 nullish coalescing 操作符优化表达式书写方式

阅读时长 4 分钟读完

在前端开发中我们经常需要编写表达式,对变量进行默认值处理。在过去,我们通常使用 || 运算符来实现默认值的赋值操作,但是这种方式可能会导致一些意想不到的结果。ES10 的 nullish coalescing 操作符可以帮助我们优化表达式的书写方式。

nullish coalescing 操作符是什么?

在 ES10 中,nullish coalescing 操作符是 ?? 符号。它的作用是在值为 null 或 undefined 时返回默认值。当变量的值为 null 或 undefined 时,?? 操作符会返回其后面的表达式。

我们来看一个例子:

在上面的例子中,我们可以看到,当 foo 和 bar 的值为 null 或 undefined 时,?? 操作符返回了默认值 'default'。当 baz 的值为字符串时,?? 操作符返回了变量的值。

使用 nullish coalescing 操作符优化表达式

在过去,我们使用 || 运算符来为变量赋予默认值。例如:

我们可以发现,在 foo 和 bar 的值为 null 或 undefined 时,使用 || 运算符仍然返回了默认值。但是,当 baz 的值为 false 时,|| 运算符也将返回默认值。

使用 nullish coalescing 操作符可以避免这种情况。例如:

在上面的例子中,当 foo 的值为 '' 时,使用 ?? 运算符不会返回默认值,而是返回变量的值。同样地,当 bar 的值为 0 时,?? 运算符也不会返回默认值,而是返回变量的值。只有在变量值为 null 或 undefined 时才会返回默认值。

实际应用场景

使用 nullish coalescing 操作符可以简化表达式的书写方式。例如,我们可以使用以下代码来获取 URL 中的参数:

在上面的代码中,我们使用 ?? 操作符为 page 和 limit 变量赋予默认值。如果 URL 中没有对应的参数,它们将使用默认值。这样,我们可以简化代码并提高可读性。

总结

nullish coalescing 操作符是 ES10 中的一个新特性,它可以帮助我们优化表达式的书写方式,避免意想不到的结果。使用 ?? 操作符可以简化代码并提高可读性,特别是在获取 URL 参数等场景中更为重要。我们应该在实际开发中使用 nullish coalescing 操作符来为变量赋予默认值,从而编写更加优美的代码。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64fd960a95b1f8cacdce6e0d

纠错
反馈