如何使用 ES12 中的可选链运算符处理 undefined 和 null

阅读时长 4 分钟读完

在前端开发中,我们经常会处理对象的属性或方法,但是当访问一个未定义的属性时,就会出现 undefined,而在链式调用中,如果其中一个对象为 null 或 undefined,则程序将崩溃。这时 ES12 中的可选链运算符就派上了用场。

可选链运算符介绍

可选链运算符(Optional chaining)用于在链式调用的过程中,如果遇到 null 或 undefined,就不会继续执行下去,而不是报错停止运行。可选链运算符为 ?.。

语法:

除了点运算符,当使用其他运算符时,需要加上圆括号。

使用可选链运算符处理 undefined 和 null

在实际项目中,当访问对象的深层属性时,可选链运算符可以大大减少代码的复杂度和冗余。下面通过一个例子来说明如何使用可选链运算符处理 undefined 和 null。

-- -------------------- ---- -------
-- ------
----- ---- - -
  ----- ------
  ---- ---
  -------- -
    --------- ------------
    ----- ------------
    ------- ----- ---
    -------- --------
  -
-

-- ----
-----------------------                  -- ------
-----------------------------------      -- ------------

以上代码中,我们可以通过点运算符访问属性和深层属性。但是当我们访问一个不存在的属性时,就会出现 undefined。

当我们访问对象的嵌套属性时,需要判断每个访问的属性是否存在。使用可选链运算符可以简化代码的编写,避免代码中充斥着大量的 if 判断语句。

以上代码中,当访问不存在的属性时,可选链运算符会自动返回 undefined,不会报错。

使用可选链运算符替换 if 判断语句

在一些复杂的场景中,我们可能需要使用 if 判断语句来保证程序的正常运行。下面通过一个例子来说明如何使用可选链运算符替换 if 判断语句。

-- -------------------- ---- -------
-- ------
----- ---- - -
  ----- ------
  ---- ---
  -------- -
    --------- ------------
    ----- ------------
    ------- ----- ---
    -------- --------
  -
-

-- --------------
-- ----- -- ------------ -- ---------------------- -
  -----------------------------------
- ---- -
  --------------------- --- --------
-

-- ------------------
----------------------------------- -- --------- --- --------

以上代码中,使用可选链运算符可以大大简化代码的编写,减少了冗余的 if 判断语句。

总结

  • 可选链运算符可以有效地处理 undefined 和 null;
  • 使用可选链运算符可以大大简化代码的编写,减少冗余的 if 判断语句;
  • 可选链运算符在处理对象的深层属性时十分有用。

以上是关于如何使用 ES12 中的可选链运算符处理 undefined 和 null的介绍和示例,希望对你有所帮助。

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

纠错
反馈