ES9 中的 Optional chaining 运算符

在前端开发中,我们经常需要处理对象的属性,但是有时候我们并不确定对象是否存在该属性,这时候就需要加入一些判断语句来避免出现错误。ES9 中引入了 Optional chaining 运算符,可以更加方便地处理这种情况。

Optional chaining 运算符是什么?

Optional chaining 运算符是一种新的语法,它可以在访问对象的属性或方法时,判断对象是否存在该属性或方法,如果存在则返回它的值,否则返回 undefined,而不会抛出错误。

Optional chaining 运算符的语法是 ?.,它可以放在对象属性或方法的后面,表示如果对象存在该属性或方法,则返回它的值,否则返回 undefined。

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

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

上面的代码中,我们可以看到使用 Optional chaining 运算符来访问对象的属性非常方便,不需要写一堆判断语句来避免出现错误。

Optional chaining 运算符的应用场景

Optional chaining 运算符可以用在访问对象的属性或方法时,判断对象是否存在该属性或方法,从而避免出现错误。下面是一些应用场景。

1. 访问嵌套对象的属性

当我们需要访问嵌套的对象属性时,如果不使用 Optional chaining 运算符,就需要写一堆判断语句来避免出现错误。而使用 Optional chaining 运算符,可以大大简化代码。

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

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

2. 调用嵌套对象的方法

当我们需要调用嵌套的对象方法时,如果不使用 Optional chaining 运算符,就需要写一堆判断语句来避免出现错误。而使用 Optional chaining 运算符,可以大大简化代码。

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

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

3. 访问数组元素

当我们需要访问数组元素时,如果不使用 Optional chaining 运算符,就需要判断数组是否存在该元素,而使用 Optional chaining 运算符,可以大大简化代码。

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

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

Optional chaining 运算符的注意事项

虽然 Optional chaining 运算符可以方便地处理对象的属性和方法,但是在使用时也需要注意一些细节。

1. 只能用于对象和数组

Optional chaining 运算符只能用于对象和数组,不能用于基本数据类型,否则会抛出错误。

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

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

2. 不支持赋值操作

Optional chaining 运算符不支持赋值操作,如果需要赋值,需要使用传统的判断语句。

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

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

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

3. 不支持函数调用时的 this

Optional chaining 运算符不支持函数调用时的 this,如果需要使用 this,需要使用传统的调用方式。

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

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

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

总结

Optional chaining 运算符是一种方便的语法,可以在访问对象的属性或方法时,判断对象是否存在该属性或方法,从而避免出现错误。它可以用于访问嵌套对象的属性、调用嵌套对象的方法和访问数组元素等场景。在使用时需要注意一些细节,比如只能用于对象和数组、不支持赋值操作和不支持函数调用时的 this。

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