欢迎光临散文网 会员登陆 & 注册

4个未听说过的强大JavaScript操作符

2020-12-11 10:04 作者:每天一个秃顶小技巧  | 我要投稿

你有没有花一个下午的时间来阅读Mozilla的文档?如果你有,你就会很清楚,网上有很多关于JavaScript的信息。这使得人们很容易忽视一些比较生僻的JavaScript操作符。

然而,这些操作符不常见并不意味着它们不强大! 它们各自在语法上看起来很相似,但一定要读懂每一个,因为它们的工作方式不同。

就让我们一探究竟吧!

1. ?? 操作符

在JavaScript中,??运算符被称为nullish coalescing运算符(零合并操作符)。如果第一个参数不是null/undefined,这个运算符将返回第一个参数,否则,它将返回第二个参数。我们来看一个例子。

上面我们创建了一个函数moneyAmount,负责返回用户的当前余额。我们使用了||操作符来识别没有账户的用户。然而,当一个用户没有账户时是什么意思呢?更准确的做法是将无账户视为null,而不是0,因为银行账户可以存在无(或负)钱的情况。在上面的例子中,||操作符将0视为一个假值,因此没有登记我们的用户有一个0美元的账户。让我们通过使用nullish coalescing操作符来解决这个问题。

概括地说,??运算符允许我们分配默认值,同时忽略0和空字符串等错误值。

2. ??=操作符

??=又被称为逻辑空值赋值运算符,与我们之前学习的内容密切相关。我们来看看它们是如何联系在一起的。

上述函数在处理空值时有一个值得注意的区别。默认参数将覆盖默认值与null参数,nullish赋值操作符不会。默认参数和nullish赋值都不会覆盖未定义的值。在这里阅读更多内容。

3. ?. 操作符

可选的链式操作符?. 允许开发人员读取深嵌在对象链中的属性值,而不必显式验证每个引用。当一个引用为空时,表达式停止计算并返回一个未定义的值。让我们来看看一个例子。

我们现在创建了一个函数,将plans添加到一个当前没有嵌套属性 tuesday.location 的对象中。我们还使用了nullish运算符来提供默认值。这个函数将接受'0'这样的虚值作为有效参数。这意味着我们的预算可以被设置为0,而不会出现任何错误。

4. ? 操作符

三元运算符 ? : 需要三个操作数,一个条件为真时要执行的表达式,以及一个条件为假时要执行的表达式。让我们来看看它的操作。

结论

我们现在已经了解了这些运算符能够完成的基本原理。如果你觉得受到启发,想在这些例子的基础上,在这里了解更多关于这些运算符的信息。干杯!


4个未听说过的强大JavaScript操作符的评论 (共 条)

分享到微博请遵守国家法律