首页 > 解决方案 > JS中return语句中的问号是什么意思?

问题描述

我有一个函数服务,它使用来自加载器的数据并以正确的方式为我转换它,然后返回新数据我有一个使用“?”的建议 在转换中返回数据之前,如果没有来自加载器的数据,这可能是有意义的:


export default async function serviceInputSearch(url) {
  const data = await new DataLoader(url).get();
  return data?.data.results;
}

我在谷歌中找不到关于这个“?”的任何信息 在回报声明?这是什么意思?

标签: javascriptreactjsfunction

解决方案


这称为可选链接。您可以在此处找到有关它的更多信息:https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining 。

但是,给定您的示例,其要点是问号验证是否存在有效的“数据”对象。如果那里没有问号并且没有数据对象或者它为空,那么将在“无法读取'undefined'的属性数据”行中抛出错误。


推荐阅读