在 JavaScript 编程中,对象是一个非常重要的概念。我们经常需要访问对象的属性或者方法。然而,当对象属性不存在时,我们可能会遇到错误。ECMAScript 2020 中的可选链和 Nullish 合并运算符可以帮助我们解决这个问题。
可选链
可选链是 ECMAScript 2020 中的一个新特性,它允许我们简化访问嵌套对象属性的代码,并且避免因为属性不存在而导致的错误。在使用可选链时,我们可以在对象属性访问的路径上使用问号(?)来表示属性是否存在,如果属性不存在,那么访问这个属性的值就会返回 undefined。
下面是一个使用可选链的示例代码:
----- ------ - - ----- ------- ---- --- -------- - ----- ---- ------ ---- ------- - -- ----- ------- - -------------------- --------------------- -- -------
上面的代码中,我们使用了可选链来访问 person 对象的 address 属性中的 zip 属性。如果 address 属性不存在,那么 zip 属性的访问就会返回 undefined。
Nullish 合并运算符
除了可选链,ECMAScript 2020 还引入了另一个新特性:Nullish 合并运算符。它可以帮助我们判断一个值是否为 null 或者 undefined,并在值为 null 或 undefined 时,返回一个默认值。Nullish 合并运算符使用两个问号(??)表示。
下面是一个使用 Nullish 合并运算符的示例代码:
----- ------ - - ----- ------- ---- --- -------- - ----- ---- ----- - -- ----- ------- - ------------------ -- ---------- --------------------- -- ---------
上面的代码中,我们使用了 Nullish 合并运算符来判断 person 对象的 address 属性中的 zip 属性是否存在,如果不存在,那么就返回一个默认值 'unknown'。
可选链和 Nullish 合并运算符的结合使用
可选链和 Nullish 合并运算符可以结合使用,来避免因为对象属性不存在而导致的错误,并在属性不存在时返回默认值。
下面是一个使用可选链和 Nullish 合并运算符结合使用的示例代码:
----- ------ - - ----- ------- ---- --- -------- - ----- ---- ----- - -- ----- ------- - ------------------- -- ---------- --------------------- -- ---------
上面的代码中,我们使用了可选链和 Nullish 合并运算符来访问 person 对象的 address 属性中的 zip 属性,并在属性不存在时返回默认值 'unknown'。
总结
可选链和 Nullish 合并运算符是 ECMAScript 2020 中的两个新特性,它们可以帮助我们简化访问嵌套对象属性的代码,并且避免因为属性不存在而导致的错误。我们可以结合使用可选链和 Nullish 合并运算符,来避免因为对象属性不存在而导致的错误,并在属性不存在时返回默认值。使用这些新特性可以让我们的代码更加简洁和易于维护。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6610ae57d10417a222149279