使用三元运算符设置对象 属性

Setting object property with ternary operator

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

这是我正在使用的代码:

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,否则我想将其设置为 属性 的长度。我在这里做错了什么?不应该这样写吗?

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