我想知道如果有条件地返回值的更好方法会怎么样。 如果没有,如果它对缩小的Javascript有任何不同。
我正在检查Google Javascript Style guide并且他们没有对此问题进行任何说明。与Airbnb guidelines
相同使用多个条件退货:
function demo(x, y) {
if (x < y) {
return getX();
} else if (x === y) {
return 'equal';
}
return getY();
}
或者使用变量进行单次返回:
function demo(x, y) {
var position;
if (x < y) {
position = getX();
} else if (x === y) {
position = 'equal';
} else {
position = getY();
}
return position;
}
答案 0 :(得分:1)
以下是return statement的定义。
return语句停止执行函数并从该函数返回一个值。
显然,条件返回必须包括return
之前的条件。
关于偏好,正如这个词暗示的那样,这实际上是一个习惯问题。
如果您习惯使用另一种语言中的一种语法,或者您更喜欢它 - 请使用它,因为它可能会减少语法错误。
关于缩小代码,我相信开关/案例语法最适用于简单条件,三元操作非常适合双方条件。
(小心!前面的哲学段落)
但是,最后,重要的是,我相信,你会理解你写的代码。而且,凭借经验,您将找到最适合您的产品。
答案 1 :(得分:1)
答案 2 :(得分:0)
使用三元/条件运算符。
在Javascript中,条件运算符可以计算表达式,而不仅仅是语句。
var result = x < y ? getX() : getY();
这从左开始评估,如果你的条件符合标准,那么结果将是第一部分,否则结果将是第二部分。
对于更多条件,您必须像
一样使用它 var result = IsYoungerThan18 ? serveMilk() : IsYoungerThan21 ? serveBear() : serveWine();
所以在你的情况下它应该是
var result = (x < y) ? getX() : (x == y) ? "equal" : getY();