Tengo esta función en JS que debería devolver 'no vendido'/'vendido a {nombre}'/'id de boleto desconocido' dependiendo del valor/existencia de la clave "ticketId" en el objeto "boletos", pero simplemente regresa 'id de boleto desconocido' para cualquier valor de 'ticketId', independientemente de si es realmente nulo o tiene un valor asignado en el objeto 'boletos'.
export function ticketStatus(tickets, ticketId) { if (tickets["ticketId"] === null) { return 'not sold'; } else if (tickets["ticketId"] === undefined) { return 'unknown ticket id'; } else { return ('sold to ' + tickets["ticketId"]); } }VSCode dice que el parámetro "ticketId" se declara pero nunca se lee en la función. Supongo que es por eso que la función sigue devolviendo la opción indefinida. En ese caso, ¿por qué 'ticketId' no se lee como debería?
"ticketId" es una cadena, no la variable como pretendías.
Probablemente quisiste decir tickets[ticketId] :
export function ticketStatus(tickets, ticketId) { if (tickets[ticketId] === null) { return "not sold"; } else if (tickets[ticketId] === undefined) { return "unknown ticket id"; } else { return "sold to " + tickets[ticketId]; } }