javascript - JS中return语句中的问号是什么意思?
问题描述
我有一个函数服务,它使用来自加载器的数据并以正确的方式为我转换它,然后返回新数据我有一个使用“?”的建议 在转换中返回数据之前,如果没有来自加载器的数据,这可能是有意义的:
export default async function serviceInputSearch(url) {
const data = await new DataLoader(url).get();
return data?.data.results;
}
我在谷歌中找不到关于这个“?”的任何信息 在回报声明?这是什么意思?
解决方案
这称为可选链接。您可以在此处找到有关它的更多信息:https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining 。
但是,给定您的示例,其要点是问号验证是否存在有效的“数据”对象。如果那里没有问号并且没有数据对象或者它为空,那么将在“无法读取'undefined'的属性数据”行中抛出错误。
推荐阅读
- c++ - 有没有办法在它的孩子中修改嵌套类的实现?
- validation - 当用户选择有效选项时,需要清除 EnumDropDownListFor 的客户端验证
- windows - Windows - 本地远程桌面的替代方案
- r - 意外行为:从数据框中删除行转换为向量 R
- logging - Wireguard:如何记录网络活动?
- matlab - Matlab 运行时的文件树结构?
- typescript - 编译错误类型转换返回类型Promise
异步 - android - 我如何在 android 中访问 JSON 数据?
- python - 彭博 blpapi 安装
- sql - 具有多个 Select 语句的 SQL 存储过程