小编典典

如何将可选链接与数组和函数一起使用?

all

我正在尝试使用带有数组而不是对象的可选链接,但不知道如何做到这一点:

这就是我想要做的myArray.filter(x => x.testKey === myTestKey)?[0]。还尝试使用函数进行类似的操作:

let x = {a: () => {}, b: null}
console.log(x?b());

但它给出了类似的错误 - 我如何将可选链接与数组或函数一起使用?


阅读 80

收藏
2022-07-28

共1个答案

小编典典

您需要在使用可选链接.之后放置一个:?

myArray.filter(x => x.testKey === myTestKey)?.[0]

游乐场链接

单独使用?会使编译器认为您正在尝试使用条件运算符(然后它会引发错误,因为它:以后看不到)

可选链不仅仅是 TypeScript 的东西——它也是一个用纯 JavaScript完成的提案。

它可以与上面的括号表示法一起使用,但也可以与点表示法属性访问一起使用:

const obj = {
  prop2: {
    nested2: 'val2'
  }
};

console.log(
  obj.prop1?.nested1,
  obj.prop2?.nested2
);

并使用函数调用:

const obj = {
  fn2: () => console.log('fn2 running')
};

obj.fn1?.();
obj.fn2?.();
2022-07-28