You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否在JavaScript对象属性值中使用管道符(||)设置默认参数?

关于用||设置bloodGroup默认值的可行性

可以用,但得注意场景限制:

  • 正常场景:当bloodCodeArray经map/filter/pop处理后没找到匹配项时,pop()会返回undefined,此时||会把bloodType赋值给bloodGroup,刚好实现“无匹配时用默认值”的需求。
  • 避坑提醒:如果业务中血型的有效值可能包含假值(比如空字符串""、0这类),||就会出问题——比如匹配到了空字符串,它会被当成“无效值”,错误地替换成bloodType。这种场景下,应该用空值合并运算符??,它只会在左边是null或undefined时才取右边的值,假值不会被误替换。

举个??的替代写法:

const empiUpdateObject = {
  "parameters": {
    "bloodGroup": bloodCodeArray
      .map(bg => bg.code)
      .filter(bc => bc.toUpperCase() === bloodType.toUpperCase())
      .pop() ?? bloodType
  }
}

内容的提问来源于stack exchange,提问作者Inod Umayanga

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 11:42:24