我正在做一个角度教程,但无论如何,我不理解以下的return语句:
return selectedCategory == null || product.category == selectedCategory;
我尝试重写它,但它不起作用:
if (selectedCategory == null) {
return selectedCategory;
} else {
return product.category;
}
如何重写一个班轮代码以便更容易理解?
答案 0 :(得分:2)
你的返回null,他们返回true。你需要
if (selectedCategory == null) {
return true;
} else {
return product.category == selectedCategory;
}
答案 1 :(得分:0)
如何重写一个班轮代码以便更容易理解?
在返回的表达式周围添加一些括号:
return ((selectedCategory == null) || (product.category == selectedCategory));
它只返回一个布尔值。这不应该被拆分,使用if
- 语句实际上更难以阅读。如果有的话,您可以引入一些额外的变量来为单个值提供描述性名称:
// some guesses about their meaning
var noSelection = selectedCategory == null;
var alreadyActive = product.category == selectedCategory;
var nothingTodo = noSelection || alreadyActive;
return nothingTodo;