如何使通常返回值的函数在找不到值时返回 undefined 而不是 null

How to make a function which normally returns a value, return undefined rather than null when the value cannot be found

提问人:user1486133 提问时间:4/25/2023 更新时间:4/25/2023 访问量:39

问:

我写了一个简单的函数来从引用者那里获取一个值:

 export const getParamFromReferrer = ({ param }) =>
   !!document.referrer &&
   new URLSearchParams(new URL(document.referrer).search).get(param);

如果未找到值,该函数将返回 。如何确保它始终返回?nullundefined

JavaScript null 未定义

评论

0赞 Nick Parsons 4/25/2023
目前,这可以返回以及. when 为空字符串,when 找不到参数。是否要保持该行为不变?falsenullfalsedocument.referrernull.get()false

答:

1赞 Mamun 4/25/2023 #1

您可以修改 return 语句以使用条件(三元)运算符来检查值是否为 null 并返回:undefined

export const getParamFromReferrer = ({ param }) =>
  !!document.referrer
    ? new URLSearchParams(new URL(document.referrer).search).get(param) || undefined
    : undefined;

如果找不到参数,则上面的代码默认返回,如果参数值为 falsy,则使用运算符返回。undefined||undefined

评论

0赞 user1486133 4/25/2023
这太棒了,谢谢!这是一个非常简单的解决方案,但我就是无法理解它