ES11 中的错误处理技巧

在编写 JavaScript 代码时,错误处理是非常重要的一环,因为良好的错误处理能够提高代码的健壮性,避免出现不必要的错误。ES11 中引入了一些新的错误处理技巧,本文将介绍其中的几个。

Optional Chaining

Optional Chaining 是一种新的语法,它能够在对象链中安全地访问嵌套的属性和方法,避免因为某个属性不存在而导致的错误。

在旧版的 JavaScript 中,如果要访问一个嵌套的属性,需要使用多个 if 语句来判断每一层的属性是否存在。而使用 Optional Chaining,可以直接在属性链中使用问号(?)来判断属性是否存在,如果不存在则返回 undefined,不会抛出错误。

下面是一个示例代码:

在上面的代码中,使用 Optional Chaining 可以避免多个 if 语句的嵌套,使代码更加简洁易读。

Nullish Coalescing Operator

Nullish Coalescing Operator 是一种新的语法,它能够在变量为 null 或 undefined 时提供一个默认值,避免因为变量为 falsy 值而使用错误的默认值。

在旧版的 JavaScript 中,如果要使用默认值,需要使用 || 运算符来判断变量是否为 falsy 值,如果是则使用默认值,否则使用变量本身。而使用 Nullish Coalescing Operator,只需要在变量后面使用 ?? 运算符,如果变量为 null 或 undefined,则使用默认值,否则使用变量本身。

下面是一个示例代码:

在上面的代码中,如果 name 为 null 或 undefined,则使用默认值 defaultName,否则使用 name 本身。

try...catch...finally

try...catch...finally 是一种旧的语法,用于捕获和处理错误。在 ES11 中,try...catch...finally 中的代码块可以返回一个值,这个值会被作为整个 try...catch...finally 语句的返回值。

下面是一个示例代码:

在上面的代码中,如果除数为 0,则会抛出一个错误,try...catch...finally 会捕获这个错误并返回 0,同时输出错误信息和“Division finished.”。如果除数不为 0,则返回计算结果,并输出“Division finished.”。

总结

ES11 中引入的 Optional Chaining、Nullish Coalescing Operator 和 try...catch...finally 的新技巧,可以使错误处理更加简单和健壮。使用这些技巧可以提高代码的可读性和可维护性,避免出现不必要的错误。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/656c51f4d2f5e1655d4b5dc8


纠错
反馈