首页 > 解决方案 > 使用三元运算符设置对象属性

问题描述

我正在尝试使用三元运算符设置对象属性,但我看不到能够做到这一点。我收到此错误:> ',' 预期。

这是正在使用的代码:

for(let i =0; i < res.value.length; i++ ){
          let event = res.value[i]
          events.push({ 
            eventEndDate: event.EndTime && '', 
            eventName: event.Title, 
            eventStartDate: event.StartTime && '', 
            numOfAttendees: event.RSVPId?? event.RSVPId.length :  0, //here's my issue
            eventId: event.Id
          })
        }

如果 event.RSVPId 为空,我想将 numOfAttendees 设置为 0,否则我想将其设置为该属性的长度。我在这里做错了什么?这不应该是这样写的吗?

标签: javascripttypescriptconditional-operator

解决方案


for(let i =0; i < res.value.length; i++ ){
          let event = res.value[i]
          events.push({ 
            eventEndDate: event.EndTime && '', 
            eventName: event.Title, 
            eventStartDate: event.StartTime && '', 
            numOfAttendees: event.RSVPId? event.RSVPId.length :  0, //here's my issue
            eventId: event.Id
          })
        }

你有两个?而不是 1

event.RSVPId?? event.RSVPId.length : 0

应该是

event.RSVPId? event.RSVPId.length : 0


推荐阅读