如何将 if else 语句与 javascript 或 linq.js 组合

how to combine if else statements with javascript or linq.js

使用 javascript 或 linq.js 组合此方法的最佳方法是什么?我正在尝试缩短我所做的事情,它工作正常,但我正在尝试用更少的代码提高效率。

if (e.values.sqft == null) {
    updatedSqft = e.model.sqft
}
else {
    updatedSqft = e.values.sqft
}

if (e.values.price == null) {
    updatedPrice = e.model.price
}
else {
    updatedPrice = e.values.price
}

你可以试试简写代码

格式

variable = condition ? option 1 : option 2;

如果满足条件,则设置选项 1,否则设置选项 2。

null,undefined,"" 将始终 return 错误。

这样试试

updatedSqft = e.values.sqft ? e.values.sqft : e.model.sqft;
updatedPrice = e.values.price ? e.values.price : e.model.price'
updatedSqft = e.model.sqft == null ? e.values.sqft : e.model.sqft;
updatedPrice = e.values.price == null ? e.values.price : e.model.price;

它称为条件三元 运算符,请参阅link here。它不特定于 Javascript,您也可以用其他语言执行此操作,例如 C#.

对于大多数程序员来说,你所做的是最好的方法,因为可读性...
但是,如果您想要更紧凑的代码,您可以使用如下代码:

// Ternary operator
updatedSqft = e.values.sqft ? e.values.sqft : e.model.sqft;
updatedPrice = e.values.price ? e.values.price : e.values.price;

// Logical OR
updatedSqft = e.values.sqft || e.model.sqft;
updatedPrice = e.values.price || e.model.price;

Ternary Operator 在 MDN
Logical OR Operators 在 MDN