如果条件匹配,则javascript返回检查值,否则返回另一个值

时间:2017-12-21 06:13:42

标签: javascript ternary-operator

所以我想知道是否有一些类似于三元运算符的内置方法但会返回真值检查的左值,而如果是假的则返回右侧。

如果没有(并澄清我的意思),我打算做什么呢?



function myTernary(leftValue, operator, condition, rightValue) {
  let expression = `${leftValue} ${operator} ${condition}`
  let result = eval('('+expression+')')
  return result ? leftValue : rightValue
}

// leftValue is returned if the condition is truthy, otherwise rightValue

console.log(myTernary(1 + 2 + 3 + 4, "<", 12, 12))
&#13;
&#13;
&#13;

eval将在客户端执行所以......它应该没问题,因为客户可以随意打开他们的Web控制台,只需输入他们想要的任何东西。

1 个答案:

答案 0 :(得分:0)

您可以使用||运算符...

&#13;
&#13;
console.log(1!=2||5)
console.log(1==2||5)
&#13;
&#13;
&#13;