【问题标题】:Nested conditional ternary operator in javascript [closed]javascript中的嵌套条件三元运算符[关闭]
【发布时间】:2025-12-25 22:30:10
【问题描述】:

我有以下代码,其中 idName 是根据 id1 或 id2 选择的。

const getValues = async ({ id1, id2, ...request}) => {
   const id = id1 || id2;
   const idName = id1? 'uid' : 'sid';
 };

现在,我添加了另一个参数“id3”,当 id1 未作为输入传入时,需要选择该参数。但是下面的代码会引发错误。任何线索将不胜感激。

const getValues = async ({ id1, id2, id3, ...request}) => {
   const id = id1 || id2 || id3;
   const idName = id1 ? id3 ? ('uid' : 'sid') ? (id3);
 };

【问题讨论】:

  • idName 对应的id3 应该是什么?
  • 为什么 getValues 没有异步工作时是异步的?为什么idName的值被扔掉了,再也没有回来?
  • const idName = (id1 && 'uid') || (id2 && 'sid') || (id3 && '3id');

标签: javascript node.js conditional-operator


【解决方案1】:
const getValues = async ({ id1, id2, id3, ...request}) => {
   const id = id1 || id2 || id3;
   const idName = id1? 'uid': id3? 'something-for-id3': 'sid'
};

【讨论】: