ECMAScript 2021 新增了三个逻辑操作符:??
、||=
和 &&=
。这些操作符可以帮助我们更方便地处理变量的默认值、赋值和检查。本文将介绍这些操作符的使用和应用场景,并提供示例代码。
空值合并操作符(??)
空值合并操作符(nullish coalescing operator),也称为双问号操作符,用于处理变量的默认值。如果变量的值为 null 或 undefined,则使用默认值。否则,使用变量的实际值。
const foo = null ?? 'default'; console.log(foo); // 'default' const bar = undefined ?? 'default'; console.log(bar); // 'default' const baz = 'value' ?? 'default'; console.log(baz); // 'value'
在上面的示例中,如果变量的值为 null 或 undefined,则使用默认值。否则,使用变量的实际值。这使得我们可以更方便地处理变量的默认值,而不必使用繁琐的 if 语句。
空值合并赋值操作符(||=)
空值合并赋值操作符(nullish coalescing assignment operator),也称为双竖线等于操作符,用于将变量赋值为默认值。如果变量的值为 null 或 undefined,则使用默认值。否则,使用变量的实际值。
-- -------------------- ---- ------- --- --- - ----- --- --- ---------- ----------------- -- --------- --- --- - ---------- --- --- ---------- ----------------- -- --------- --- --- - -------- --- --- ---------- ----------------- -- -------
在上面的示例中,如果变量的值为 null 或 undefined,则使用默认值。否则,使用变量的实际值。这使得我们可以更方便地将变量赋值为默认值,而不必使用繁琐的 if 语句。
逻辑赋值操作符(&&=)
逻辑赋值操作符(logical assignment operator),也称为双与等于操作符,用于将变量赋值为逻辑与操作的结果。如果变量的值为 falsy,则将变量赋值为 falsy。否则,使用变量的实际值。
-- -------------------- ---- ------- --- --- - ------ --- --- ----- ----------------- -- ----- --- --- - -- --- --- -- ----------------- -- - --- --- - -------- --- --- ---- ------- ----------------- -- ---- ------
在上面的示例中,如果变量的值为 falsy,则将变量赋值为 falsy。否则,使用变量的实际值。这使得我们可以更方便地将变量赋值为逻辑与操作的结果,而不必使用繁琐的 if 语句。
总结
ECMAScript 2021 中新增的逻辑操作符可以帮助我们更方便地处理变量的默认值、赋值和检查。这些操作符的使用和应用场景非常广泛,可以极大地提高我们的开发效率。在实际开发中,我们应该根据具体的需求选择合适的操作符,以达到最佳的效果。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65dd89771886fbafa4ae0bc2