Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有条件返回(无if或三元)_Javascript - Fatal编程技术网

Javascript 有条件返回(无if或三元)

Javascript 有条件返回(无if或三元),javascript,Javascript,我原以为这很简单,但我想不出一种不使用if或三元函数就有条件返回的方法 const example = (num1, num2) => { num1 === num2 && return 'equal'; num1 !== num2 && return 'not equal'; } 这给了我一个错误,说意外的令牌返回如果您必须同时避免条件运算符和If语句,您可以滥用&和|来获得所需的逻辑,方法是在返回的'equal'前面加上一个'not',如果需要

我原以为这很简单,但我想不出一种不使用
if
或三元函数就有条件返回的方法

const example = (num1, num2) => {
  num1 === num2 && return 'equal';
  num1 !== num2 && return 'not equal';
}
这给了我一个错误,说
意外的令牌返回

如果您必须同时避免条件运算符和
If
语句,您可以滥用
&
|
来获得所需的逻辑,方法是在返回的
'equal'
前面加上一个
'not'
,如果需要:

const示例=(num1,num2)=>(
((num1!==num2&“非”)| |“)+“相等”
);
log(示例(2,3));
log(示例(3,3))
const示例=(num1,num2)=>num1==num2&&'equal'| |'notequal'
const-example=(num1,num2)=>['equal','notequal'][+(num1!==num2)]

无法在表达式上下文中返回<代码>返回
必须是独立语句。不要害怕条件运算符,这里非常干净<代码>返回num1==num2?'equal':“not equal”这是一个编码挑战,其中if语句和TERNARY不允许比我的更好!