Return 三元运算符表达式中的 JavaScript 语句
Return statement inside JavaScript ternary operator expression
问题
有没有办法在三元运算符中执行return
语句?
这是一件奇怪的事情,因为我觉得 三进制 就像 shorthand 对 if/else,你可以在 if/else.
中执行 return
语句
但出于某种原因,我无法在 三元运算符:
中执行 return
语句
常规 IF/ELSE:
// THIS WORKS
function foo() {
if (true) {
console.log('This is true');
} else {
console.log('Not true');
}
}
三元为 IF/ELSE:
// THIS ALSO WORKS
function bar() {
true ?
console.log('This is true')
: console.log('Not true');
}
上面的两个代码都可以正常工作。但是当涉及 return 时,会发生以下情况:
常规 IF/ELSE 与 return:
// THIS WORKS
function foo() {
if (true) {
console.log('This is true');
} else {
return;
}
}
三元组 IF/ELSE 与 return:
// THIS DOESN'T WORK
function bar() {
true ?
console.log('This is true')
: return;
}
关于可能的重复:
我环顾四周,没有找到这个确切问题的答案。
我很清楚我可以return一个三元运算符,就像下面的一段代码,但这不是这个问题的问题。
function foo() {
return(
true ?
console.log('This is true')
: null
);
}
不,这不可能。三元运算符的操作数是expressions. And return
is a statement. You should use if
else
. According to MDN
Parameters
condition
An expression whose value is used as a condition.
exprT, exprF
Expressions with values of any type.
不可能 - 三元运算符需要表达式,而 return
是一个语句。使用简单的 if
语句:
function foo() {
if (true) console.log("This is true"):
else return;
}
问题
有没有办法在三元运算符中执行return
语句?
这是一件奇怪的事情,因为我觉得 三进制 就像 shorthand 对 if/else,你可以在 if/else.
中执行return
语句
但出于某种原因,我无法在 三元运算符:
中执行return
语句
常规 IF/ELSE:
// THIS WORKS
function foo() {
if (true) {
console.log('This is true');
} else {
console.log('Not true');
}
}
三元为 IF/ELSE:
// THIS ALSO WORKS
function bar() {
true ?
console.log('This is true')
: console.log('Not true');
}
上面的两个代码都可以正常工作。但是当涉及 return 时,会发生以下情况:
常规 IF/ELSE 与 return:
// THIS WORKS
function foo() {
if (true) {
console.log('This is true');
} else {
return;
}
}
三元组 IF/ELSE 与 return:
// THIS DOESN'T WORK
function bar() {
true ?
console.log('This is true')
: return;
}
关于可能的重复:
我环顾四周,没有找到这个确切问题的答案。
我很清楚我可以return一个三元运算符,就像下面的一段代码,但这不是这个问题的问题。
function foo() {
return(
true ?
console.log('This is true')
: null
);
}
不,这不可能。三元运算符的操作数是expressions. And return
is a statement. You should use if
else
. According to MDN
Parameters
condition
An expression whose value is used as a condition.
exprT, exprF
Expressions with values of any type.
不可能 - 三元运算符需要表达式,而 return
是一个语句。使用简单的 if
语句:
function foo() {
if (true) console.log("This is true"):
else return;
}